【发布时间】:2015-05-19 15:36:59
【问题描述】:
每次通过lapply 运行函数时,我都会尝试输出列表名称。我发布了我之前发布的question earlier,@Ananda Mahto 提供的答案运行良好,直到我将R 升级到版本 3.2.0。它不再工作,我收到以下错误消息:Error in eval.parent(quote(names(X)))[substitute(x)[[3]]] : invalid subscript type 'symbol'
x <- ts(rnorm(40,5), start = c(1961, 1), frequency = 12)
y <- ts(rnorm(50,20), start = c(1971, 1), frequency = 12)
z <- ts(rnorm(50,39), start = c(1981, 1), frequency = 12)
a <- ts(rnorm(50,59), start = c(1991, 1), frequency = 12)
dat.list <- list(x=x,y=y,z=z,a=a)
abc <- function(x) {
r <- mean(x)
print(eval.parent(quote(names(X)))[substitute(x)[[3]]])
return(r)
}
forl <- lapply(dat.list, abc)
我不确定是什么问题,但我检查了R 新版本中的所有语法,没有任何改变。任何帮助是极大的赞赏。我也乐于接受任何新想法。
【问题讨论】: