【发布时间】:2014-10-19 18:46:15
【问题描述】:
我想遍历单个数据框(不在列表中)并向每个 df 附加一列,以便附加的列是原始 df 中第一列的副本。
对于 df x:
> x
V1 V2 V3
1 1 2 3
2 1 2 3
3 1 2 2
4 1 2 2
5 1 1 1
期望的输出是:
> x
V1 V2 V3 newCol
1 1 2 3 1
2 1 2 3 1
3 1 2 2 1
4 1 2 2 1
5 1 1 1 1
我尝试使用这个循环:
filenames <- names(which(sapply(.GlobalEnv, is.data.frame)))
for(x in seq_along(filenames)){
filenames[x]$newCol <- x[,1]
}
但出现错误:
x[, 1] 中的错误:维数不正确
【问题讨论】:
-
好的,看来您知道它们应该在列表中。将它们放入列表中。
-
@RichardScriven 该答案确实解决了我遇到的问题,但我认为这不是重复的,因为最初的问题是关于专门使用 for 循环执行此操作。无论如何,我意识到这不是一种非常 R 的方式。 :-)