当分组因子缺失值时,基本R中的boxplot可以显示'NA'吗?

Nat*_*nos 4 r missing-data boxplot

我要这个:

以NA作为类别名称的箱线图

而且我认为传递na.action=na.pass给boxplot会让NA出现在分组名称中.以下是一些示例代码:

#Build a fake dataset
set.seed(212012)
nn = 100
sample_data <- data.frame( score = c( rpois(nn, 1), rpois(nn, 2),
                                      rpois(nn, 1.5), rpois(nn, 3)),
                          category = c( rep(0, nn), rep(1, nn), 
                                        rep(2, nn), rep(NA, nn) ))   

boxplot( score ~ category, data=sample_data, na.action=na.pass )
Run Code Online (Sandbox Code Playgroud)

但这产生了这个:

在此输入图像描述

获得我想要的"简单"方法是以下代码,但它对于探索性数据分析并不好:

sample_data$category2 <- sample_data$category
sample_data$category2[ is.na(sample_data$category) ] <- 'NA'
boxplot( score ~ category2, data=sample_data )
Run Code Online (Sandbox Code Playgroud)

来自R Guru的任何暗示?我能够从这个更一般的讨论中找到关于na.pass的内容,以及来自Ripley教授的na.pass的起源.但是,数据中出现的缺失数据(NA)与因子本身的缺失数据之间似乎没有区别.我错过了一些简单的东西,还是这更像是一个功能请求?

Jus*_*tin 7

boxplot( score ~ factor(category,exclude=NULL), data=sample_data)

默认因子行为是exclude=NA.我假设boxplot呼叫内部是一个factor呼叫,如果它不是一个因素.这只是强制分解包含您的NA值.