2017-09-28 14 views
0

data.frameからネストされたフィールドとネストされていないフィールドの両方を選択できますか?例えば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 

私はsometihngをやりたい私は、この他の方法

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

このよう

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

とネストされたフィールドネストされていないフィールドを選択することができます知っていますこのように:

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

答えて

0

我々はunnestそれをdo.calldata.frameに変換して

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

グレート以下のように列名を選択することによってできました!ありがとうございます – gpfymedia

+0

@gpfymediaコメントいただきありがとうございます。 [ここ](https://stackoverflow.com/help/someone-answers)もチェックすることができます。 – akrun