摘要会记住以前的垃圾'值

时间:2015-08-12 18:07:47

标签: r summary garbage data-cleaning

我有一个列的数据,提到了一个人的性别。不幸的是,很少有错误的列/错误的值。

summary(data$gender)

给出类似

的内容
boy : 19232
girl : 14565
Maths : 3
Science : 4
... some 20 garbage values : 1

我编写了一个代码,将男孩,女孩以外的值替换为错误。现在摘要(数据$性别)提供类似

的内容
boy : 19232
error : 156
girl : 14565
Maths : 0
Science : 0
... other garbage values : 0

有什么方法可以阻止计数为0的打印值?

为什么我需要这个 - 有超过100列。我正在使用一个新的标志列,它遇到一个"错误"跨越任何单元格值,最后,我删除flag = 1的记录。 我需要查看整个数据的简短摘要。,类似

boy : 19232
error : 156
girl : 14565

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您要查找的功能可能是droplevels,以便删除未使用的因子级别。

在你的情况下

summary(droplevels(data)$gender)

答案 1 :(得分:2)

以下是一个例子:

data = factor(c("girl","boy","girl","boy","math","girl","girl"), levels = c("girl", "boy", "math"))
> summary(data)
girl  boy math 
   4    2    1 
data2 = factor(c("girl","boy","girl","boy","math","girl","girl"), levels = c("girl", "boy", "math", "garbage"))
> summary(data2)
   girl     boy    math garbage 
      4       2       1       0 
> summary(droplevels(data2))
girl  boy math 
   4    2    1 

data一切都很好。但是在data2中有另一个未使用的级别,它强制显示0。

正如@ user295691首先指出droplevels(请参阅?droplevels以获得快速参考)将帮助您摆脱这些错误级别。

我再说一遍,你在这里有一个因素,即使你将值设置为其他水平仍然存在。我可以谷歌的第一个合适的解释可能是this link here.