从向量列表的元素中提取向量

时间:2011-12-27 20:08:39

标签: r

我有一些json数据[{a:10, b:123,c:4.5},{a:2,b:5,c:33}]等我通过json_data <- fromJSON(paste(json_file, collapse=""))读入R(json_file是输入url)。到目前为止很好。 现在我想从这个输入创建向量,fromJSON已转换为向量列表,其中向量具有组件a,b,c。

有没有比循环输入列表更好的方法,并通过连接新目标矢量上的各个矢量组件来手动执行此操作?

1 个答案:

答案 0 :(得分:5)

如果您有这样的列表:

l <- list(c(a=10, b=123, c=4.5),c(a=2,b=5,c=33))

您可以执行以下操作:

df <- data.frame(do.call(rbind, l))
#    a   b    c
# 1 10 123  4.5
# 2  2   5 33.0
as.list(df)
# $a
# [1] 10  2
# $b
# [1] 123   5
# $c
# [1]  4.5 33.0

do.call(rbind, X)构造很方便,允许你rbind将任意长度列表的元素组合在一起。然后你可以根据需要对得到的矩阵进行切片和切块 - 我只是将其转换为data.frame,然后转换为list,以显示几种可能性。)