0

我想获取 kpi 列的值并将这些值设置为新数据表的标题。在这个应用程序中,我希望管理员创建 KPI 并让用户填充第二个数据表中的值。

第一张桌子

所以我想要一张如下表:

新数据表

服务器.r

GetTableMetadata <- function() {
   fields <- c(id = "Id", 
               name = "Name", 
               used_shiny = "Used Shiny", 
               r_num_years = "R Years")

   result <- list(fields = fields)
   return (result)
 }
    #display table in wide format
     output$viewresponses<-DT::renderDataTable({

      viewDF<-(as.data.frame(responses))
      viewDF %>% spread(GetTableMetadata()$fields$name,GetTableMetadata()$fields$used_shiny)[-1]
      })

我得到的错误是:

Error : Invalid column specification
4

1 回答 1

0

我使用 library(tidyr) 包将长格式转换为宽格式

KPI <- c('cost','time','quality','time','time')
 measurements <- c(1, 2, 3,2,1)
kpi.data <- data.frame(KPI, measurements)

kpi.data 如下(长格式):

  KPI measurements
1    cost            1
2    time            2
3 quality            3
4    time            2
5    time            1

通过使用 tidyr 的扩展函数,它将长格式转换为宽格式

kpi.data %>% spread(KPI,measurements)
于 2015-11-26T03:34:35.240 回答