2015-10-16 16 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