【发布时间】:2013-04-23 17:34:51
【问题描述】:
下面的代码使用我的滞后数据创建了一个数据框,但为了修复名称,我目前必须使用第二个“for”命令显式创建名称。我想在创建新列的函数内移动列名创建。这可能吗?
例如,我想调用一个新函数 MyLagNamed(Close[,1], i,"C") 而不是调用 MyLag(Close[,1], i,"C") 并返回列的名称像示例代码中一样设置。
这可能吗?
谢谢
MyLag <- function(x, k) c(rep(NA, k), x[1:(length(x)-k)] )
MaxColumns = 6
Close = structure(list(Close = c(12.8125, 12.97, 13.345, 13.625, 13.4375,
13.6875, 13.75, 13.625, 13.3125, 13.875, 13.875, 13.9375, 13.875,
14.3125, 14.6875, 14.375, 14.4075, 14.095, 14.4375, 14.375)),
.Names = "Close", row.names = c(NA, -20L), class = "data.frame")
for (i in 1:MaxColumns) Close[i+1] <- MyLag(Close[,1], i)
for (i in 2:MaxColumns) colnames(Close)[i] = paste("MyLag(C,",i,")",sep="")
【问题讨论】: