0

我正在使用 ifelse 编写文件:

ifelse("out.csv" %in% list.files(),
       write.table(summary, "out.csv", sep=",", col.names=FALSE, row.names=FALSE, append=TRUE),
       write.table(summary, "out.csv", sep=",", row.names=FALSE)
)

它似乎工作正常,但抛出一个错误:替换长度为零

使用此代码或更好的做事方式有任何风险吗?

谢谢

4

1 回答 1

3

如帮助中所述,无论条件的值如何,都会ifelse评估真假参数。你想要的是一个普通的.if

if("out.csv" %in% list.files()) {
   write.table(summary, "out.csv", sep=",", row.names=FALSE,
       col.names=FALSE, append=TRUE)
} else {
   write.table(summary, "out.csv", sep=",", row.names=FALSE)
}
于 2013-05-17T10:48:57.520 回答