从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
答案 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