如何在 R 中使用 if 语句?
How to use if statement in R?
我习惯了Python以下代码无一例外地工作。但是,当我尝试 运行 命令时,我在 R 中收到以下错误。
a <- readline(prompt="Give a num between 1-10: ")
b <- readline(prompt="Give another between 11-20: ")
if((1 <= a <= 10) & (11 <= b <= 20)) {
a <- a
b <- b
} else {
a <- readline(prompt="Give a correct num between 1-10: ")
b <- readline(prompt="Give a correct num between 11-20: ")
}
错误:
1) 尽管 1 <= a <= 10
在逻辑上看起来是正确的,但它不是 R 中的有效语法。您需要单独使用 1 >= a & a <= 10
。
2) readline
的输出是一个字符,你可能想换行 as.numeric
来得到一个数字。
3) a
和b
不用再赋值了,条件是TRUE
就已经存在了。
总而言之,您可以这样做:
a <- as.numeric(readline(prompt="Give a num between 1-10: "))
b <- as.numeric(readline(prompt="Give another between 11-20: "))
if(a < 1 | a > 10)
a <- as.numeric(readline(prompt="Give a correct num between 1-10: "))
if(b < 11 | b > 20))
b <- as.numeric(readline(prompt="Give a correct num between 11-20: "))
我习惯了Python以下代码无一例外地工作。但是,当我尝试 运行 命令时,我在 R 中收到以下错误。
a <- readline(prompt="Give a num between 1-10: ")
b <- readline(prompt="Give another between 11-20: ")
if((1 <= a <= 10) & (11 <= b <= 20)) {
a <- a
b <- b
} else {
a <- readline(prompt="Give a correct num between 1-10: ")
b <- readline(prompt="Give a correct num between 11-20: ")
}
错误:
1) 尽管 1 <= a <= 10
在逻辑上看起来是正确的,但它不是 R 中的有效语法。您需要单独使用 1 >= a & a <= 10
。
2) readline
的输出是一个字符,你可能想换行 as.numeric
来得到一个数字。
3) a
和b
不用再赋值了,条件是TRUE
就已经存在了。
总而言之,您可以这样做:
a <- as.numeric(readline(prompt="Give a num between 1-10: "))
b <- as.numeric(readline(prompt="Give another between 11-20: "))
if(a < 1 | a > 10)
a <- as.numeric(readline(prompt="Give a correct num between 1-10: "))
if(b < 11 | b > 20))
b <- as.numeric(readline(prompt="Give a correct num between 11-20: "))