从R中的data.frame中选择嵌套字段和非嵌套字段

时间:2017-09-28 11:32:38

标签: r select dataframe nested

从data.frame中选择嵌套字段和非嵌套字段是否可行?

例如:

df=data.frame(
     a=c(1,2,3)
    ,b=c(4,5,6)
)
nested=data.frame(
     a=c(10,20,30)
    ,b=c(40,50,60)
)
df$nested=nested

print(df)
#   a b nested.a nested.b
#   1 4       10       40
#   2 5       20       50
#   3 6       30       60

我知道我可以这样选择不嵌套的字段

df[,c("a","b")] 
#   a b
#   1 4
#   2 5
#   3 6

以及另一种嵌套字段

df$nested[,c("a","b")] 
#    a  b
#   10 40
#   20 50
#   30 60

我想这样做:

df_new=df[,c("a","nested$a")]
#    a  nested.a
#    1 10
#    2 20
#    3 30

1 个答案:

答案 0 :(得分:0)

我们可以unnest转换为data.frame中的do.call,然后选择下面的列名称

do.call(data.frame, df)[c('a', 'nested.a')]
#   a nested.a
#1 1       10
#2 2       20
#3 3       30