2014-04-12 80 views
0

我希望能夠將data.frame的列臨時分配給函數中的變量名稱。R:將數據幀列分配給函數內的變量

mydata <- data.frame(a1="hello",a2=2,a3=3) 

f <- function(mydata) { 
    for (i in names(mydata)) assign(i, tempdata[i]) 
    print(a1) 
    print(a2+a3) 
} 

[1] "hello" 
[2] 5 

謝謝,我知道這是另一個奇怪的問題,但它會有所幫助。

+0

也許如果你解釋你試圖實現的,它可能是更容易幫助你的解決方案。 – A5C1D2H2I1M1N2O1R2T1

+0

我正在努力將通用數據任務重新映射爲更加用戶友好的語言。 – fsmart

回答

1

我不願意發表這個,但是你的評論並沒有特別有助於解釋你想達到的目標,而且這似乎與你的問題中的f函數的功能相匹配。

with功能會讓你指的列名,好像他們是變量:

with(mydata, { 
    print(a1) 
    print(a2 + a3) 
}) 
# [1] hello 
# Levels: hello 
# [1] 5