2014-08-28 110 views
2

基本上我需要輸入一組數字,標準是輸入三個以上的數字,我輸入的內容需要是數字而不是字母。如果這些標準中的任何一個失敗,則需要有錯誤消息。我試圖用兩種方法去解決這個問題。一種方法可能更容易,但無論如何我都無法讓他們中的任何一個跑步。任何幫助將非常感激。輸入一組數字然後輸出一個特定的數字?在R

NUM <- function(){ 
message("ENTER THREE NUMBERS!")   
pre> x <- as.vector(readLines(n = 3))    

while (x = is.numeric){     
    message("ERROR\nPLEASE ENTER THREE NUMBERS!") 
    x <- is.vector(readLines(n = 3)) 
    } 

if(x(1) > x(3) && x(2) > x(3))   
    print(x(3))<P> 

if(x(1) > x(3) && x(2) < x(3))<P> 
    print(x(2))<P> 

if(x(1) < x(3) && x(2) > x(1))<b> 
    print(x(1)) 
} 
NUM() 

由於某些原因,即使輸入實際數字,上述代碼也會重複。

NUM3 <- function(x){ 
message("ENTER THREE NUMBERS!")  ###user input of 3 numbers### 
     x <- is.vector(readLines(n = 3)) ### telling input is a vector#### 

     while (x != TRUE){     
      message("ERROR\nPLEASE ENTER THREE NUMBERS!")    
      x <- is.vector(readLines(n = 3)) 
     } 
BOB <- sort(x)  ###sorting the three numbers### 
print(BOB(3))  ###then printing the 3rd number### 
} 
NUM3() 

此代碼似乎是去喜歡使用它的方式,但我又不能讓它運行。

再次,任何幫助將不勝感激。

另外,我是一般的R編碼和編碼新手。

最佳

回答

0

當你使用下面的代碼,

x <- is.vector(readLines(n = 3))

你輸入被創建爲一個特徵向量:

給你舉個例子:

> num <- function(x) { 
+  message("Enter Three Numbers!") 
+  x <- is.vector(readLines(n = 3)) 
+  print(x) 
+ } 

> num() 
Enter Three Numbers! 
2 
7 
4 
[1] "2" "7" "4" 

我希望這會有所幫助。

相關問題