我终于放弃了在R中循环的习惯。基本上通常是计算新列,然后对这些新列进行计算和聚合。但我有一个关于cbind的问题,我用它来添加列。
有没有比使用bind更好的方法呢?
命名这个新专栏总是由我以这种乏味的方式完成...有什么更聪明/更简单的吗?
library(quantmod)
getSymbols("^GSPC")
GSPC <- cbind(GSPC, lag(Cl(GSPC), k=1)) #Doing some new column calculation
names(GSPC)[length(GSPC[1,])] <- "Laged_1_Cl" #Naming this new column
GSPC <- cbind(GSPC, lag(Cl(GSPC), k=2))
names(GSPC)[length(GSPC[1,])] <- "Laged_2_Cl"
tail(GSPC)
已编辑Roman Luštrik在下面的评论中添加了一个很好的解决方案。
GSPC$Laged_3_Cl <- lag(Cl(GSPC), k=3)
tail(GSPC)
2条答案
按热度按时间2w3kk1z51#
向data.frame添加新变量的一种方法是通过
$
操作符。其中
i
是新变量名,value
是其关联值。tjvv9vkg2#
您可以在赋值的左侧为新列命名,如下所示: