2013-05-17 5 views
0

я пишу файл, используя IfElse:Использование IfElse с write.table

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) 
) 

Это, кажется, работает хорошо, но подбрасывает ошибка: замена имеет нулевую длину

Любой риск для использования этого кода или лучший способ сделать что-то?

Благодаря

ответ

2

Как отмечено в справке, 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) 
} 
+0

Большое спасибо - я не заметил, что в помощь –

Смежные вопросы