为什么ifelse会产生打印输出?

时间:2014-10-10 14:31:33

标签: r if-statement

我在我编写的RMarkdown文件中有一些代码:

ifelse(Sys.info()[1]=="Linux",
       wdir <- "/path/1",
       wdir <- "/path/2")
setwd(wdir)

除非它应该保持沉默。我已经把它与

一块了
```{r prepare.data,echo=F,warning=FALSE,message=FALSE,error=FALSE}

我不想从中生成任何输出,但是当我编织时,我在输出中得到了这个:

##                                          sysname 
## "/path/1"

我在控制台中尝试了该代码片段并且正在生成该打印输出。

我的问题是: 1.为什么ifelse打印此输出? 2.我该如何避免呢?

谢谢!

1 个答案:

答案 0 :(得分:2)

试试wdir <- ifelse(Sys.info()[1]=="Linux", "/path/1", "/path/2")。打印输出的原因是,如果您不将ifelse输出分配给某个变量,它只会在屏幕上打印。这就像写a <- 1 + 2 vs 1 + 2