如何使用特定向量中的列名将多列附加到数据框?

时间:2015-04-15 23:51:38

标签: r

例如,我有一个包含2列的数据框。我需要在此数据框中追加82个附加列,并使用特定的列名称。这些列名称存储在不同的向量(日期)中。我怎样才能有效地做到这一点?我尝试了以下方法:

for(i in 1:length(dates)) {
    peekdata<-cbind(peekdata,dates[i]=0
}

如果这是一个愚蠢的问题,我对R很新,所以道歉

1 个答案:

答案 0 :(得分:1)

你可以在没有循环的情况下完成。

首先,定义一些样本数据

peekdata  <- data.frame(orig=1:5)
dates <- letters[1:10]

现在做

cbind(peekdata, setNames(replicate(length(dates), 0, simplify=F), dates))

获取

  orig a b c d e f g h i j
1    1 0 0 0 0 0 0 0 0 0 0
2    2 0 0 0 0 0 0 0 0 0 0
3    3 0 0 0 0 0 0 0 0 0 0
4    4 0 0 0 0 0 0 0 0 0 0
5    5 0 0 0 0 0 0 0 0 0 0

但你做这件事很奇怪。你打算稍后填写数值吗?因为通常更容易一次性计算所有值并添加它们而不是从一堆零开始。