在for循环中的函数内调用已定义的变量R.

时间:2017-10-10 09:16:57

标签: r function for-loop environment-variables paste

在调用计算函数内部的变量时,我在R里面有一个问题。我已经使用了神经网络包,我已经计算了六种不同的ann(人工神经网络)变量。它们存储在环境窗口的“值”部分中。

for (i in 1:6) {

predictions = compute(paste("neuralmodel_t",i, sep=""),new_pred[,1:4])

}

此循环产生的错误是;

Error: $ operator is invalid for atomic vectors

通常,我可以单独运行这些功能。例如,下面的函数可以工作;

compute(neuralmodel_t1,new_pred[,1:4])

所以,任何帮助都将受到赞赏。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你的命令

paste("neuralmodel_t",i, sep="")

只创建一个字符串,它不会使用对应的名称访问变量。您必须使用get

for (i in 1:6) {
  predictions = compute(get(paste("neuralmodel_t", i, sep = "")), new_pred[, 1:4])
}