我有一个包含鸟类信息的JSON文件。看起来有点像这样:
{
"Cardinal":{
"Wingspans":[22.9,21.2,23.4],
"Sightings":["Stream","Scramble","Stream"],
"Gender":["M","F","M"],
...
},
"Bluejay":{...},
...
}在我的应用程序中,我使用selectInput允许用户在不同类型的鸟(红衣主教、蓝宝石、君科等)之间进行选择,并更新数据。我已经成功地为任何给定的单个情况硬编码了键,例如:
savedData <<- fromJSON(file = "birds.json")
wingspans <<- data.frame(savedData$Cardinal$Wingspans)
sightings <<- data.frame(savedData$Cardinal$Sightings)诸若此类。我想要的是“红衣主教”部分使用selectInput Id "typeSelect“,以便当应用程序加载数据时,它使用用户从下拉菜单中指定的任何一种鸟。这里有一些错误的想法没有解决这个问题:
wingspans <<- data.frame(paste0("savedData$",input$typeSelect,"$Wingspans"))
wingspans <<- data.frame(savedData$(input$typeSelect)$Wingspans)
wingspans <<- data.frame(savedData$input$typeSelect$Wingspans)这些都会产生语法错误,或者只是给我一个1x1数据帧,其中粘贴的路径名作为单元格值。谢谢大家!
发布于 2022-01-20 16:54:40
它是一个对象值,所以使用[[而不是$,因为$将从字面上计算
wingspans <- data.frame(savedData[[input$typeSelect]]$Wingspans)或者可以使用[[进行所有提取。
wingspans <- data.frame(savedData[[input$typeSelect]][["Wingspans"]])或者如果我们加载了purrr,pluck也可能是有用的。
library(purrr)
wingspans <- data.frame(pluck(savedData, input$typeSelect, "Wingspans"))https://stackoverflow.com/questions/70789706
复制相似问题