R:字符" 1:10"转换数字1:10?

时间:2014-04-18 16:49:38

标签: r

最近,我使用以下代码。

answer <- readline("please input the number.")

然后我输入1:10,然后按Enter键。 这里回答=&#34; 1:10&#34;,如果有一种转换角色的方法&#34; 1:10&#34;数字1:10?

2 个答案:

答案 0 :(得分:3)

你可以尝试

x = '1:10'
inp = as.integer(strsplit(x, ':')[[1]])
inp[1]:inp[2]
[1]  1  2  3  4  5  6  7  8  9 10

它很难看,但没有任何附带损害。

答案 1 :(得分:2)

我的评论作为答案:看eval(parse(text = ...))

基本思想是将其置于如下函数中:

fun <- function() {
  answer <- readline("Please input the number: ")
  eval(parse(text = answer))
}
fun()

但是,一般情况下,人们试图避免在R中使用eval(parse(text = ...))类型的东西。


library(fortunes)
fortune(106)