0
dplyr :: bind_rows()はデータフレーム上でしか動作しません。なぜ以下の両方が同じですか?R:dplyr :: bind_rows()はリスト上で動作していますか?
# Load pkgs, set seed
library(dplyr)
set.seed(1)
# Create toy data
foo <- list(df1 = data.frame(A = rnorm(3), B = rnorm(3)),
df2 = data.frame(C = rnorm(3), B = rnorm(3)),
df3 = data.frame(C = rnorm(3), A = rnorm(3)))
df1 <- bind_rows(foo)
# Combine all sources into 1 source
for (i in 1:(length(foo) - 1)){
foo[[i+1]] <- dplyr::bind_rows(foo[[i]], foo[[i+1]])
}
# Extract final df from list
df2 <- foo[[length(foo)]]
# Check for identical
identical(df1, df2)
を使用しなければならなかった理由である、
rbind
にデータフレームのリストを渡すことはできませんか?基本的に、現在のデータフレームをすべての繰り返しで次のデータフレームにバインドしています。すべてのデータフレームを一度にバインドするのと同じことです。 – Abdou?bind_rowsは、これがデータフレーム用であることを示唆しているようです。だから、私はリスト全体でそれを使用できるとは思っていませんでした。さらに、それがリスト全体に適用された場合、リストのすべての要素を反復することがわかっている理由はわかりませんでした。 – user3614648
'bind_rows'は、データが1つのデータフレームに結合されますフレームは個別のオブジェクトまたはリストの一部です。比較する: 'bind_rows(mtcars [1:5、]、iris [1:6、]、mtcars [6:8、])'と 'bind_rows(list(mtcars [1:5、]、iris [1:6、 ]、mtcars [6:8、])) '。 – eipi10