2014-10-29 140 views
1

使用R.有沒有一種方法可以給R任何文本字符串,它會像對待公式一樣對待它?有沒有辦法更改變量賦值名稱

一個例子說明了一切。

a <- 1 
b <- 2 
c <- 3 
d <- 4 

如果我必須一直這樣做到z?

在該R,我們可以這樣寫:

letters[1] 

這給了我們一個「A」

那麼,關於這樣的事情: (它不工作,但我想做些什麼像這樣)

for (i in 1:4) {  
    letters[i] <- i 
} 

還有的as.formula功能,但這只是像a ~ b + c公式不錯。

謝謝。

+1

怎麼樣'分配(字母[I],I)' – Alex 2014-10-29 01:01:17

+1

呀,@Alex是正確的......對於(介紹,'sapply(字母,函數(x)的分配確切的問題X,匹配( x,letters),envir = .GlobalEnv))'會起作用。許多方法來剝皮貓......也可以做'list2env(setNames(as.list(1:26),letters),.GlobalEnv)' – jbaums 2014-10-29 01:04:00

+2

或'list2env(as.list(setNames(1:26,letters) )。globalenv())' – 2014-10-29 01:05:48

回答

2

如果你想評價一個文本:

eval(parse(text="a<-1")) 

但是,如果要初始化許多變量,您可以創建一個名爲列表和它(各部件連接到全球環境)轉換成一個獨立的變量使用list2env,但我強烈建議您將變量保留在同一個列表

xx <- letters[1:5] 
list2env(setNames(seq_along(xx), xx), .GlobalEnv) 
相關問題