我有两个二进制向量,比方说:
male female unknown
0 1 0
0 1 0
1 0 0
0 0 1
1 0 0
我想要这个数据的直方图。同样,我想要其他向量的直方图,其中可能有更多这样的向量。可以安全地假设所有向量具有相同的长度,它们来自同一个数据帧。
我有一个想法如何通过对每个向量进行计数或求和来做到这一点,但是这样做的好方法或正确方法是什么?
肿瘤坏死因子。
这是一些用直方图呈现的奇怪数据,但没关系。我会用ggplot2
. 如果您融合数据(使用reshape2
),则向量的数量或它们的长度无关紧要。
df <- data.frame(male=c(0,0,1,0,1),
female=c(1,1,0,0,0),
unknown=c(0,0,0,1,0))
df.m <- melt(df)
str(df.m)
hist(df.m$value ~ df.m$variable)
ggplot(df.m, aes(value)) + geom_histogram(aes(fill=variable)) +
facet_wrap(~variable) #This depends on how you want your different variables split up.
#如果你想让他们在同一个情节上,那么:
ggplot(df.m, aes(value)) + geom_histogram(aes(fill=variable), position="dodge")