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

时间:2016-09-27 02:28:13

标签: r csv histogram subset

这就是我检索数据集的方法,到目前为止一切都很好。

> mantis<-read.csv("mantis.csv")
> attach(mantis)

数据集提供有关体重/长度/爪强度等的数值数据。女性和男性螳螂。目的是创建一个直方图,显示只有雌性螳螂的体重。我创建了一个子集;

> 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 ......我无法弄清楚如何正确创建这个直方图。遗憾的是,我不能在R中理解解决方案,我正在使用的教科书没有涵盖这一点。

1 个答案:

答案 0 :(得分:2)

这是因为mantis_sub是一个数据框(即一个体质量,长度,爪强度......),而不是一组数字,所以hist不确定你想要哪一列曲线图。

您需要提取要进行直方图的列。为此,请添加mantis_sub${column name}。美元符号从mantis_sub表中提取相应的列。

e.g。做一个名为“BodyMass”的列的直方图

hist(mantis_sub$BodyMass)

如果你想自动完成许多列的直方图,那么你必须循环遍历它们,例如。

for (column in c("BodyMass", "ClawStrength")) {
    hist(mantis_sub[[column]])
}