我有一個數據框我想使用用戶輸入的子集。用戶將提交包含三個字段的文件:數據框到子集,子集條件和要選擇的列。在file.txt
一個例子線將是:如何使用字符串作爲對象和子集數據框時子集
"mtcars","mpg > 21 & hp > 100",""
會用數據幀mtcars
,子集中的所有那些具有mpg > 21
和hp > 100
,並選擇所有的列。
您可以用
query <- read.csv("file.txt", header=F, stringsAsFactors=F)
閱讀中,然後用
subset(as.name(query$V1), query$V2)
運行subset
,因爲它不承認query$V2
作爲一個邏輯語句這不工作,沒有檢測as.name(query$V1)
的列。這樣的事情可能嗎?有一個更好的方法嗎?我需要能夠通過文件輸入對用戶運行多個子集/查詢。
很難確切知道你例如,但這應該在簡單的'mtcars'之一中工作:''eval(parse(text =「subset(mtcars,mpg> 21&hp> 100)」))' –
'mtcars'是一個內置的數據集,這似乎工作 – TomNash