手动创建从JSON函数返回的相同数据框

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

我有一个JSON字符串,它使用jsonlite包返回一个数据帧。

 library(jsonlite)
 d  <- fromJSON('[{"x":"A","value":100},{"x":"B","value":100},{"x":["A","B"],"value":20}]' )

它给了我

     x value
1    A   100
2    B   100
3 A, B    20

但是我想手动重新创建相同的数据框。列x的类是一个列表。

我的尝试如下:

   data.frame(x = c("A","B",list(c("A","B"))),value = c(100,100,20))

这给我一个错误,

r dataframe jsonlite
1个回答
1
投票
我们可以在Ilist上用base R换行

data.frame(x = I(list("A", "B", c("A", "B"))), value = c(100, 100, 20))

并且如果我们使用tibble,则更为直接`

library(tibble) tibble(x = list("A", "B", c("A", "B")), value = c(100, 100, 20))

© www.soinside.com 2019 - 2024. All rights reserved.