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)
这是你想要达到的目标吗?
我有一个这样的矩阵
> 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)
这是你想要达到的目标吗?