R语言 更好的方法来绑定新计算的列并快速命名输出

jogvjijk  于 2023-04-03  发布在  其他
关注(0)|答案(2)|浏览(143)

我终于放弃了在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)
2w3kk1z5

2w3kk1z51#

向data.frame添加新变量的一种方法是通过$操作符。

x$i <- value

其中i是新变量名,value是其关联值。

tjvv9vkg

tjvv9vkg2#

您可以在赋值的左侧为新列命名,如下所示:

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

exdat$combo <- paste0(exdat$lets, exdat$nums)

相关问题