2015-10-16 14 views
1

因为我是R中的新手,我有一些静态代码,我想使它与用户进行交互。基于用户偏好的运行代码

我有一个手动使用使用URL格式如下:

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

我想要求用户给我URL的txt等了恰当"",分析它们并把它们插入到url变量。

此外,在给一个解决方案的菜单如下:

1 - csv 
2 - txt 
3 - excel 

,如果该文件变量的用户类型,即1给出了值1

回答

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()不会为他们开箱,因为它们是二进制文件,而不是纯文本。

0

我觉得readline是你所需要的。例如:

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

您可以通过键入?readline了解更多关于使用R帮助系统的readline。

+0

'result'为空。 – 2015-10-16 07:03:02

+0

@Pascal不,如果你输入“2”,那么'result'包含“2” –

+0

我刚刚应用了你的代码。 – 2015-10-16 07:17:31