将JSON列添加到R数据框

问题描述 投票:1回答:1

我有一个数据框,并希望添加一个附加列,该列包含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进行了尝试,但无法运行。

r json dataframe jsonlite
1个回答
1
投票
尝试每行运行:拆分每行,然后应用

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}]
© www.soinside.com 2019 - 2024. All rights reserved.