根据用户首选项运行代码

时间:2015-10-16 05:14:53

标签: r

因为我是R的新手,我有一些静态代码,我想让它与用户进行交互。

我手动使用以这种格式使用网址:

url <- c("http://www.google.com/", "http://www.anothersite.com", "http://www.yahoo.com")

我想请用户给我一个带网址的文本,并使用适当的"",解析它们,然后将它们插入到网址变量中。

同样在这里给出一个解决方案菜单:

1 - csv
2 - txt
3 - excel

如果用户输入,即1,则为文件变量赋值1.

2 个答案:

答案 0 :(得分:2)

这是一个名为readFile()的简单函数,它向R用户提示文件名。然后,它尝试使用read.csv()读取文件的内容,并返回一个向量,其中每个条目对应于文件中的一行。

readFile <- function() {
    filename <- readline(prompt="Enter an filename: ")
    input <- read.csv(file=filename, header=FALSE, sep=",")
    return(input)
}

我创建了一个名为urls.txt的本地文件,其中包含以下内容:

http://www.google.com
http://www.yahoo.com
http://www.bing.com

以下是如何调用它:

> url <- readFile()
Enter an filename: C:\urls.txt

> url
                     V1
1 http://www.google.com
2 http://www.yahoo.com
3 http://www.bing.com

对于Excel文件,将它们解析为R是非常重要的,需要一个特殊的包。只使用read.csv()对于他们来说不是开箱即用的,因为它们是二进制文件,而不是纯文本。

答案 1 :(得分:0)

我认为readline就是你所需要的。例如:

> result <- readline(prompt="1 foo\n2 bar\n")
1 foo
2 bar
# Enter 2
> result
[1] "2"

您可以通过键入?readline

,在R帮助系统上了解有关readline的更多信息