-1

我有一个这样的矩阵

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

4

1 回答 1

0

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

keepNA如果为 TRUE,NA 值将在 Excel 中转换为 #N/A,否则 NA 单元格将为空。默认为假

这里有一个例子:

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

它是你想要达到的吗?

于 2018-07-03T09:13:56.783 回答