R записывать файлы xlsx, преобразовывая пустые ячейки в числовой вывод

У меня есть такая матрица

> df <- head( iris )
> df[2,3] <- NA
> df[2,5] <- NA
> df[3,5] <- NA

с некоторыми NA. Итак, если я поставлю конвертировать NA, как это

df[is.na( df )] <- "#N/D" 

df становится символьной матрицей, и когда я пишу.xlsx, мой файл excel содержит сообщение об ошибке, потому что не распознает числовой формат. Если я поставлю логический NA таким образом df[is.na( df )] <- NA и я пишу. xlsx я получаю матричный вывод с пустыми ячейками. Как я могу получить матрицу с "#N/D" и с числовым форматом?

1 ответ

Решение

У меня сложилось впечатление, что настройка keepNA = TRUE решит вашу проблему. Согласно документации openxlsx::write.xlsx():

keepNA Если TRUE, значения NA преобразуются в #N/A в Excel, иначе ячейки NA будут пустыми. По умолчанию FALSE

Пример здесь:

# generate test data with NA values
test_df <- iris
test_df[c(1, 3, 7), ] <- NA
# write the file
write.xlsx(test_df, file = "test.xlsx", 
    keepNA = TRUE)

Это то, что вы хотите достичь?

Другие вопросы по тегам