【发布时间】:2015-06-22 03:59:10
【问题描述】:
例如,我有一个包含 2 列的数据框。我需要在此数据框中附加 82 个附加列,并带有特定的列名。这些列名存储在不同的向量(日期)中。我怎样才能有效地做到这一点?我尝试了以下方法:
for(i in 1:length(dates)) {
peekdata<-cbind(peekdata,dates[i]=0
}
我对 R 还很陌生,如果这是一个愚蠢的问题,我深表歉意
【问题讨论】:
标签: r
例如,我有一个包含 2 列的数据框。我需要在此数据框中附加 82 个附加列,并带有特定的列名。这些列名存储在不同的向量(日期)中。我怎样才能有效地做到这一点?我尝试了以下方法:
for(i in 1:length(dates)) {
peekdata<-cbind(peekdata,dates[i]=0
}
我对 R 还很陌生,如果这是一个愚蠢的问题,我深表歉意
【问题讨论】:
标签: r
你可以在没有循环的情况下做到这一点。
首先,定义一些样本数据
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
但你会这样做很奇怪。您以后要填写值吗?因为通常更容易一次计算所有值并将它们相加,而不是从一堆零开始。
【讨论】: