爲什麼get()
結合paste()
適用於數據幀,但不適用於數據幀內的列?我怎麼能使它工作?R:使用get()和paste()返回列
ab<-12
get(paste("a","b",sep=""))
# gives: [1] 12
ab<-data.frame(a=1:3,b=3:5)
ab$a
#gives: [1] 1 2 3
get(paste("a","b",sep=""))
# gives the whole dataframe
get(paste("ab$","a",sep=""))
# gives: Error in get(paste("ab$", "a", sep = "")) : object 'ab$a' not found
嚴肅的問題:你爲什麼要這麼做? – Heroka
你可以用'eval(parse(text = ...))'來做到這一點,但是R讓這種尷尬和困難的程度應該是你使用'get'的整個方法可能並不理想的信號。 – joran
只是因爲'$'是一個函數,'get'不會評估傳遞給它的對象,所以試着用'c':'get(「c(1,2,3)」)' –