2010-03-29 51 views
5

例如,如果我需要用戶指定一個矩陣的行和列的數目:如何讓使用R的用戶有多個輸入?

PROMPT:[若干]

我需要:行?:

用戶輸入數R'等待'輸入。然後將[數字]保存到變量v1中。接着,

PROMPT:列數?:

用戶輸入:[另一個數值]

另外保存[另一個數值]代入變量V2。最後,我將有兩個變量(v1,v2)用於代碼的其餘部分。

「readline」只適用於一次輸入。我無法將兩條線一起運行

v1 <- readline("Number of rows?: ") 
v2 <- readline("Number of columns?: ") 

任何想法或建議嗎?

預先感謝您

回答

5

您可以將這些報表合併成一個條款:

{ v1 <- readline("Number of rows?: "); v2 <- readline("Number of columns?: ") } 

或者一般,使它們成爲一個功能:

readlines <- function(...) { 
    lapply(list(...), readline) 
} 
readlines("Number of rows?: ", "Number of columns?: ") 
4

您可能會發現有用的tkentry函數在包tcltk中(更多示例請參閱here)。還有一個在包svDialogs一個guiDlg功能

library(svDialogs) 
display(guiDlg("SciViews-R", "My first dialog box with SciViews-R")) 

檢查this page更多..