从子集函数创建的子集中创建直方图

问题描述:

这是我检索我的数据集的方式,目前为止都是很好的。从子集函数创建的子集中创建直方图

> 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]]) 
} 
+0

这应该被标记为正确答案:)。非常感谢。 –