R写xlsx文件转换数字输出中的空白单元格

R write xlsx files converting blank cells in a numeric output

我有一个这样的矩阵

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

有一些 NA。 所以,如果我像这样转换 NA

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

df 成为字符矩阵,当我 write.xlsx 我的文件 excel 包含一条错误消息,因为无法识别数字格式。如果我以这种方式放置逻辑 NA df[is.na( df )] <- NA 并且我 write.xlsx 我会得到一个带有空白单元格的矩阵输出。如何获得带有“#N/D”和数字格式的矩阵?

我的印象是设置 keepNA = TRUE 可以解决您的问题。根据 openxlsx::write.xlsx() 的文档:

keepNA If TRUE, NA values are converted to #N/A in Excel else NA cells will be empty. Defaults to 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)

这是你想要达到的目标吗?