0

df_list次のようなデータフレームのリストがあります。

 head(df_list[[1]])
       score    name  rank
 921   9718     aba   921
 346   11387    aca   346

head(df_list[[2]]
       score    name  rank
 1080  9023     aba   1080
 156   12276    aca   156

そして、名前でそれらをマージしたいので、次のようなものになります

       score.1  rank.1   score.2   rank.2
 aba   9718     921      9023      1080 
 aca   11387    346      12276     156  

do.call と cbind を使ってみました

tmp <- do.call("cbind", df_list)

しかし、これは私に

head(tmp)
      score    name  rank   score   name   rank
921   9718     aba   921    9718    aba    1080 
346   11387    aca   346    11387   aca    156 

ランキングを取得しようとすると、tmp[tmp$rank]ランクという名前の最初の列しか取得できません。

4

2 に答える 2

1

cbind()列を並べて配置することで、本来の目的を正確に実行しています。それらをマージする場合は、関数を使用する必要がありmerge()ます。

データが常に同じ観測値 (同じ順序) を持っている場合は、cbind が適切です。その場合name、最初の列を除くすべての data.frames から列を削除し、カウンターでタグ付けされた他の列の名前を変更します。

于 2014-04-15T14:54:12.450 に答える