当我在Rstudio控制台中使用R时,我遇到了一些困惑:
i <- 0
ifelse(i == 1,print("yes!"),print("no."))
## [1] "no."
## [1] "no."
但是当我尝试非功能时,它只打印一次:
i <- 0
ifelse(i == 1, i + 1, i + 2)
## [1] 2
为什么Rstudio在高级情况下打印两次而不是一次?有什么区别?
答案 0 :(得分:2)
print有两件事:
如果您只是在控制台上写下print(“a”),则不会显示返回值。
但如果你写
a = print("a")
a
您会看到两个值。
答案 1 :(得分:0)
这是因为print("hello")
(比方说)不仅在输出流上打印hello
而且还返回hello
。我希望它有所帮助。
答案 2 :(得分:0)
我在RStudio中玩这个:
i <- 0
a <- 'yes'
b <- 'no'
ifelse(i == 1, a, b)
[1] "no"
ifelse(i == 1, 'yes', 'no')
[1] "no"
显式定义包含要返回的值的变量,或者指示ifelse
中的特定值(字符串,整数,浮点数)返回特定值。