2015-01-12 25 views
-2

這似乎很容易。但是我堅持了一個小時以上。R程序從函數中取一個變量名[編輯]

function(directory, pollutant , id = 1:332) 

我想把污染物的價值說成是'硝酸鹽'。

我的數據分配給變量「MYDATA」

mydata$nitrate[ "some condition"] 

但我必須要通過像

mydata$pollutant . How could I assign the value from pollutant with $ . 

有沒有辦法做到這一點。

+2

爲什麼不使用'MYDATA [污染物]',而不是使用'$'? –

+0

@MatthewLundberg。但我必須在其中添加一些條件。就像我只需要選擇部分數據$ nitrate [data $ ID> = 5]&data $ ID <= 10] – user3116355

+2

@ user3116355爲什麼不提供一些示例數據? – nrussell

回答

1

您想使用[[而不是$。每個都返回元素本身(與包含元素的列表相反)。爲了您的使用,這些是相同的($允許縮寫,但這不是問題)。

爲了解決您的評論:

mydata[[pollutant]][mydata$ID >= 5 & mydata$ID <= 10] 
+0

我試過一樣的。但它返回一個NULL列表 – user3116355