我终于在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)
**已编辑** RomanLuštrik在下面的评论中添加了一个很好的解决方案。
GSPC$Laged_3_Cl <- lag(Cl(GSPC), k=3)
tail(GSPC)
答案 0 :(得分:1)
向data.frame添加新变量的一种方法是通过$
运算符。帮助页面(?"$"
)以
x$i <- value
其中i
是新变量名称,value
是其关联值。
答案 1 :(得分:0)
您可以在作业左侧命名新列,如下所示:
exdat <- data.frame(lets = LETTERS[1:10],
nums = 1:10)
exdat$combo <- paste0(exdat$lets, exdat$nums)