首页 > 解决方案 > 不能在函数内增加变量

问题描述

我只是想在这个函数中增加这个变量:

 process = function(line){
  if(exists("Counter")== FALSE){Counter <- 0}
  
  input <- str_split(line,',')
  output <- paste("tree", toString(Counter))
  
  Counter <- arbreCounter + 1
  setglobal(input,output)
  
  print(Counter)
}

当我运行该功能时,我只得到:

[1] 1
[1] 1
[1] 1

标签: r

解决方案


没有足够的信息来给出一个好的答案,但这里有一些想法。

  1. 您实际上没有在函数中递增Counter. 看起来您正在使用arbreCounter它,但我不知道arbreCounter.

  2. Counter似乎是一个局部范围的变量(它在系统进入函数时创建并在函数终止时被销毁)所以exists("Counter")可能总是返回FALSE.


推荐阅读