在一个复杂的数据框架中,我有一个具有净召回工资的列,包括我要排除的NAs,以及一个列,其中包含从1992年到2010年进行研究的年份,或多或少像这样:
q32 pgssyear
2000 1992
1000 1992
NA 1992
3000 1994
etc.
如果我尝试画一个如下的箱形图:
boxplot(dataset$q32~pgssyear,data=dataset, main="Recalled Net Salary per Month (PLN)",
xlab="Year", ylab="Net Salary")
似乎有效,但NAs可能会扭曲计算,所以我想摆脱它们:
boxplot(na.omit(dataset$q32)~pgssyear,data=dataset, main="Recalled Net Salary per Month (PLN)",
xlab="Year", ylab="Net Salary")
然后我收到一条警告消息,pgsyear和q32的长度不匹配,很可能是因为我从q32中删除了NA,所以我试图缩短pgsyear,以便它不包括与NAs对应的行q32专栏:
pgssyearprim <- subset(dataset$pgssyear, dataset$q32!= NA )
然而,pgsyearprim被视为因子变量:
pgssyearprim
factor(0)
如果我将它引入boxplot公式,我会得到相同的警告信息......
Levels: 1992 1993 1994 1995 1997 1999 2002 2005 2008 2010
答案 0 :(得分:0)
当然他们不会......你只使用na.omit(dataset$q32)~pgssyear
从LHS中删除了部分数据。而是使用!is.na(dataset$q32)
作为子集参数