R:将列表数据转换为数据帧

时间:2014-12-04 13:38:40

标签: r list

我有从ODK Aggregate创建的JSON文件生成的列表数据。它看起来像:

P1 <- list(a01 = 1:11, a02 = letters[1:11], a03 = list(letters), a04 = (1:11)^2)

我想要做的是基本上通过删除任何嵌套列表(a03)将P1转换为数据帧。通过这个简单的例子,我们将得到以下作为我们的最终输出。

P1data <- data.frame(a01 = 1:11, a02 = letters[1:11], a04 = (1:11)^2)

感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:7)

试试这个

as.data.frame(Filter(Negate(is.list), P1))
#    a01 a02 a04
# 1    1   a   1
# 2    2   b   4
# 3    3   c   9
# 4    4   d  16
# 5    5   e  25
# 6    6   f  36
# 7    7   g  49
# 8    8   h  64
# 9    9   i  81
# 10  10   j 100
# 11  11   k 121