r - 将 JSON 列添加到 R 数据框

标签 r json dataframe jsonlite

我有一个数据框,想添加一个额外的列,其中包含 JSON 格式的每行数据。 在这个例子中:

dfr = data.frame(name = c("Andrew", "Mathew", "Dany", "Philip", "John", "Bing", "Monica"), age = c(28, 23, 49, 29, 38, 23, 29))

dfr %>% mutate(Payload = jsonlite::toJSON(dfr))

我想得到

Andrew  28   {"name":"Andrew","age":28}
Mathew  23   {"name":"Mathew","age":23}

相反,我每行获取完整数据框的 JSON 字符串。 我用 apply 试过了,但没能运行。

最佳答案

尝试按每一行运行:拆分每一行,然后应用 toJSON 函数:

dfr$Payload <- sapply(split(dfr, seq(nrow(dfr))), toJSON)

dfr
#     name age                      Payload
# 1 Andrew  28 [{"name":"Andrew","age":28}]
# 2 Mathew  23 [{"name":"Mathew","age":23}]
# 3   Dany  49   [{"name":"Dany","age":49}]
# 4 Philip  29 [{"name":"Philip","age":29}]
# 5   John  38   [{"name":"John","age":38}]
# 6   Bing  23   [{"name":"Bing","age":23}]
# 7 Monica  29 [{"name":"Monica","age":29}]

关于r - 将 JSON 列添加到 R 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61319855/

相关文章:

r - 将 geom_line 和其他 ggplot 对象添加到 autoplot.survfit

r - 使用 match.arg() 匹配默认值向量,有或没有错误 [R]

r - left_join (dplyr) 下一个可用日期

java - 如何从 JSONArray 访问单个整数

r - 如何减少R中的数据大小?

python - 一组推文中所有主题标签的计数

javascript - 使用 Node.js 应用程序中的 Request 模块发出 API 请求

python - BoxPlot:如何显示年度值而不是季度值?

r - n 列减法数

r - 使用 R 中一列中存在的值向量扩展 data.frame