0

向数据框中添加行很容易,rbind但我发现这smartbind通常更适合处理异常,例如具有不同列名的数据框等。

然而,在某些情况下,迭代地添加行smartbind会产生额外的行:

library(gtools)
alldf <- data.frame()
for (i in 1:3) {
  df <- data.frame(x=i)
  alldf<- smartbind(df,alldf)
}

smartbind

> alldf
    x
1   3
2:1 2
2:2 1
2:3 1

rbind

> alldf
  x
1 3
2 2
3 1

我不知道为什么smartbind会这样,我尝试过删除 rownames rownames(alldf) <- NULL,但它似乎并没有改变这一点。我rbind现在可以改用,或者我可以alldf在第一个循环中初始化,但这似乎很麻烦。另外,我有时更喜欢使用smartbind,所以我想纠正这个。

谢谢阅读

4

0 回答 0