最近,我使用下面的代碼。R:字符「1:10」轉換爲數字1:10?
answer <- readline("please input the number.")
然後我輸入1:10,然後回車。 這裏答案=「1:10」,如果有一種方法將字符「1:10」轉換爲數字1:10?
最近,我使用下面的代碼。R:字符「1:10」轉換爲數字1:10?
answer <- readline("please input the number.")
然後我輸入1:10,然後回車。 這裏答案=「1:10」,如果有一種方法將字符「1:10」轉換爲數字1:10?
您可以嘗試
x = '1:10'
inp = as.integer(strsplit(x, ':')[[1]])
inp[1]:inp[2]
[1] 1 2 3 4 5 6 7 8 9 10
這是醜陋的,但它沒有附帶損害的作品。
謝謝。有用。 – BioChemoinformatics
@kevin,這與'1:10'完全不同。 – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto真實但很容易做出序列,避免了Konrad帶來的錯誤。一些錯誤處理/檢查在這裏可以用來避免惡意活動。 –
我的評論作爲回答:看看eval(parse(text = ...))
。
的基本想法是把它放在一個功能,如:
fun <- function() {
answer <- readline("Please input the number: ")
eval(parse(text = answer))
}
fun()
但一般來說,一個人試圖避免R.
library(fortunes)
fortune(106)
謝謝大家。我從你那裏學到很多東西,這鼓勵我越來越多地學習R。 – BioChemoinformatics
醜陋
eval(parse(text = ...))
類的東西,但'eval(parse(text = answer))'? – A5C1D2H2I1M1N2O1R2T1爲什麼醜陋?這幾乎是命令行解釋的,對嗎? – BrodieG
@BrodieG醜陋,因爲用戶是刺,並進入'unlink(every_file_everywhere)'。 –