0
使用全局變量,我有一個非常大的數據集,我分析它與R.在功能
的問題是,我想加上我的數據集不同處理某些列,我需要它使用一些一些遞歸函數全局變量。每個函數修改一些全局變量並創建一些變量。所以,我在內存的數據集的複製是一個大問題......
我看了一些資料:如果我沒有誤會,既不使用也不<<-
可以assign()
幫我...
我想要:
mydata <- list(read.table(), ...)
myfunction <- function(var1, var2) {
#modification of global mydata
mydata = ...
#definition of another variable with the new mydata
var3 <- ...
#recursive function
mydata = myfunction(var2, var3)
}
您對我的問題有一些建議嗎?
我知道,但是當我編碼它時:assign()或<< - 我在全局環境中修改了mydata,但不是在我的函數的本地環境中。所以當我在myfunction()中使用遞歸函數時:修改不適用。 修改如下:dataset [dataset [,「colx」] == var1,] = anotherfunction()所以assign()在這裏對我來說真的很不方便... – EaudeRoche
@EaudeRoche哦,明白了。但實際上,解決這個問題很簡單:做兩個分配,一個本地和一個非本地。看我的編輯。您還可以更改這些操作的順序:先在本地分配* first *,然後在全局分配。 –
@ konrad-rudolf好的!所以我將不得不復制每個迭代的數據集。 – EaudeRoche