我跟着關於HERE的討論,我很好奇爲什麼在R中使用<<-
皺眉。它會引起什麼樣的混淆?爲什麼使用`<< - `皺起眉頭,我該如何避免它?
我還想了解一些關於如何避免<<-
的提示。我經常使用以下內容。例如:
### Create dummy data frame of 10 x 10 integer matrix.
### Each cell contains a number that is between 1 to 6.
df <- do.call("rbind", lapply(1:10, function(i) sample(1:6, 10, replace = TRUE)))
我想實現的是由1到每一個數字下移,即所有的2S將成爲1S,所有的三分球將來到2等。因此,所有n
會來n-1
。
df.rescaled <- df
sapply(2:6, function(i) df.rescaled[df.rescaled == i] <<- i-1))
在這種情況下,我怎麼能避免<<-
:我通過以下實現這一目標?理想情況下我會希望能夠管sapply成果轉化的線沿線的另一個變量:
df.rescaled <- sapply(...)
參見http://stackoverflow.com/questions/14166207/avoiding-global-variables-in-r/14166812 #14166812 – 2013-01-05 03:16:08