2013-03-28 44 views
3

我想从直方图中排除所有零值。直到现在为止,我创建了一个新对象并将所有零值转换为NAs,但是我希望在不创建新对象的情况下会有一些更简单的方法。绘制R中没有零值的直方图

示例代码:

set.seed(45) 
a<-sample(0:10,500,replace=T) 
c<-ifelse(a!=0,a,NA) 
hist(c) 

回答

5

你可以使用子集是这样的:

hist(a[ !a==0 ]) 

你可以检查它的工作原理是这样:

table(is.na(c)) 
FALSE TRUE 
443 57 

length(a[!a==0]) 
[1] 443 
+0

好奇:为什么'! a == 0'而不是'a!= 0'? – plannapus 2013-03-28 11:33:07

+0

@plannapus真的没有理由。引擎盖下有什么区别吗?我现在很好奇。 – 2013-03-28 11:35:31

+0

thx的提示! – Joschi 2013-03-28 11:36:15