2015-07-06 38 views
1

的情況我有一個變量,它是 count_process = "time>=20" 現在我想用它在IF條件像使用字符串作爲如─其他

if(time>=20){ do something } 

我怎麼能這樣做?

+2

請發表重複性例。也許你需要'eval(parse(text = count_process))' – akrun

+1

如果我明白你的意思if(count_process ==「time> = 20」){do something}' – Batanichek

+0

這就好像是一個代碼注入的地方。極不推薦。 – Vesper

回答

3

一個選擇是與sub提取的數字串,並用它在if條件

val <- as.numeric(sub('[^0-9]+', '', count_process)) 
if(time >= val){do something} 

另一個選項是使用eval(parse((未盡管推薦)

if(eval(parse(text=count_process))){do something} 
+0

任何原因/來源爲chiding'eval(解析('? – MichaelChirico

+1

@MichaelChirico可能是這[鏈接](http://stackoverflow.com/questions/13649979/what-specifically-are-the-dangers-of-evalparse)和它裏面的鏈接幫助 – akrun

相關問題