我想获取kpi列的值并将这些值设置为新数据表的标题。在此应用程序中,我希望管理员创建KPI并让用户填充第二个数据表中的值。
所以我想要一个像bellow这样的表:
server.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
答案 0 :(得分:0)
我使用了库(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)