1

我终于失去了在 R 中循环的习惯。基本上通常是计算新列,然后对这些新列进行计算和聚合。但是我对用于添加列的 cbind 有疑问。

有没有比对这样的事情使用绑定更好的方法?

为这个新专栏命名总是由我以这种乏味的方式完成......那里有更聪明/更简单的东西吗?

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)
4

2 回答 2

1

向 data.frame 添加新变量的一种方法是通过$操作符。帮助页面 ( ?"$") 以以下形式显示常见用法

x$i <- value

i新变量名称在哪里以及value它的关联值在哪里。

于 2014-11-30T21:46:45.737 回答
0

您可以像这样命名作业左侧的新列:

exdat <- data.frame(lets = LETTERS[1:10],
                    nums = 1:10)

exdat$combo <- paste0(exdat$lets, exdat$nums)
于 2014-11-30T21:47:37.370 回答