Ссылка на фрейм данных, извлеченный из цикла for - PullRequest
0 голосов
/ 30 сентября 2019

Год вечером. Я сталкиваюсь с некоторыми проблемами при обращении к набору данных

Шаг 1 - Фрейм данных df1. Это ниже работает

df1
  ColA ColB ColC ColD
1   gf    A    1    2
2  dfg    A    2    3
3   er    A    3    4 

p1 <- list()
  p <- list()
  bs <- names(Filter(is.factor, df))
  for(i in bs)
  {
    p1[[i]] <- as.data.frame(round(prop.table(table(df[,i]))*100,1))
    do.call(rbind,p1) %>% as.data.frame()
  }

Шаг 2 - Я не могу сослаться на p1 здесь, как показано ниже

h6(selectInput("Plot1","First Variable",choices = c("",names(df)),width = 200))
s_data <- reactive({
    p1[p1[[input$Plot1]] %in% input$Plot1,]
  })

После выполнения кода выше Я выполняю код ниже. Есть ли проблема в коде ниже

Plot2 <- reactive(
      for(i in bs)
      {if (input$Plot1 == i) {
        p[[i]] <- print(ggplot(data=s_data()[[i]],aes_string(x=reorder(s_data()[[i]]["Var1"],+s_data()[[i]]["Freq"]),y=s_data()[[i]]["Freq"],fill=s_data()[[i]]["Freq"]))+geom_bar(stat = "identity")+ylab("Percentage")+xlab(i)+theme(axis.text.x=element_text(angle=90, hjust=1,size = 12))+geom_text(aes_string(label = s_data()[[i]]["Freq"]),size=4,vjust = 1,hjust =1, colour="white")+coord_flip())
      } else if (input$Plot1 == "NULL") {
        ""
      }})
    output$Plot2 <- renderPlot(
      { 
        Plot2()
      }
    )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...