使用带有write.table的ifelse

时间:2013-05-17 10:32:00

标签: r

我正在使用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)
)

它似乎工作正常,但引发错误:替换长度为零

使用此代码或更好的方法做任何风险?

由于

1 个答案:

答案 0 :(得分:2)

如帮助中所述,无论条件的值如何,ifelse都会评估两个的true和false参数。你想要的是一个简单的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)
}