【发布时间】:2019-12-20 20:03:51
【问题描述】:
考虑tidyjsonGH page:中的这个例子
#devtools::install_github("sailthru/tidyjson")
library(tidyjson)
library(dplyr)
json <- '[{"name": "bob", "age": 32}, {"name": "susan", "age": 54}]'
json %>%
as.tbl_json %>%
gather_array %>%
spread_values(
name = jstring("name"),
age = jnumber("age")
)
# A tibble: 2 x 4
document.id array.index name age
* <int> <int> <chr> <dbl>
1 1 1 bob 32
2 1 2 susan 54
我已提取所有 JSON 键并将其放入向量中。我正在寻找一种有效的解决方案(只需jstring 即可)来创建表格数据集:
features <- c("name", "age", "gender", "education", "income", ...)
# spread_values(features = jstring(features))
如何在spread_values 步骤中概括列表;即在上面的示例中,我如何将name 和age 压缩为单行?列的名称始终与 JSON 键相同。我尝试过应用系列(lapply/sapply)函数和 for 循环,但总是得到相同的赋值错误:
Error: unexpected '=' in...
干杯。
【问题讨论】:
-
我很欣赏编辑;但是我实际上有兴趣了解为什么会发生此分配错误以及在 R 中创建此类循环的正确方法是什么。尽管了解如何概括此特定功能是有益的(并且有用),但我觉得一般应用程序将是价值更高。
标签: r function variable-assignment