从子集函数创建的子集中创建直方图
问题描述:
这是我检索我的数据集的方式,目前为止都是很好的。从子集函数创建的子集中创建直方图
> mantis<-read.csv("mantis.csv")
> attach(mantis)
该数据集提供体重/长度/爪强度等数值数据。女性和男性mantises。目标是创建一个直方图来显示只有雌性螳螂的身体质量。我创建了一个子集;
> mantis_sub<-subset(mantis, Sex=="f",select="Body.Mass.g")
然后我试了一下;
> hist(mantis_sub)
Error in hist.default(mantis_sub) : 'x' must be numeric
我查过这个链接; Plot a histogram of subset of a data ...我无法弄清楚如何正确地创建这个直方图。不幸的是,我不能很好地理解这个解决方案,我用的教科书不包括这个。
答
这是因为mantis_sub
是一个数据帧(即身体质量,长度,爪强度表),而不是一组数字,因此hist
不确定您想要绘制哪一列。
您需要提取想要做直方图的列。要做到这一点,你把mantis_sub${column name}
。美元符号从mantis_sub
表中提取适当的列。
例如做一个名为“体质量”
hist(mantis_sub$BodyMass)
如果你想自动完成许多列的直方图列的直方图,那么你会通过他们,例如必须循环
for (column in c("BodyMass", "ClawStrength")) {
hist(mantis_sub[[column]])
}
这应该被标记为正确答案:)。非常感谢。 –