基本上我需要输入一组数字,标准是输入三个以上的数字,我输入的数字需要是数字而不是字母。如果这些标准中的任何一个失败,则需要出现错误消息。我尝试了两种方法。一种方法可能更容易,但是我不能让它们中的任何一种运行。任何帮助将非常感激。
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 :(得分: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"
我希望这会有所帮助。