簡體   English   中英

R函數中的全局變量

[英]global variable in R function

我創建了一個處理我的一些數據的函數,如下所示:

a <- "old" 
test <- function (x) {
   assign(x, "new", envir = .GlobalEnv)
} 
test(a)

但我看不出從“舊”到“新”的變化,我猜這是一些“全局變量”,有什么建議嗎?

謝謝!

對於assign(x,value) ,x需要是變量的名稱而不是它的值,因此x應該是字符形式: assign("a","new") ,以便在函數中使用,嘗試:

test <- function (x) 
{
  assign(deparse(substitute(x)), "new", envir = .GlobalEnv)
} 

在您的情況下,您將創建一個名為“old”的變量並為其指定“new”:

> old
[1] "new"

你可以將你的功能與sapply功能結合起來,例如:

require (plyr)
b <- sapply (a, test)
b
  old 
"new" 

你申請你的函數你的實際元素這樣a載體-如romunov在他的回答中指出。

另一個例如:

a <- c("old", "oold", "ooold", "oooold")
b <- sapply (a, test)
b
   old   oold  ooold oooold 
 "new"  "new"  "new"  "new" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM