我想从数据框中绘制(直方图)每长度类鱼类的数量,该数据框以分箱格式(data.frame(...,length = length,counts = N))汇总该信息。我是ggplot2的新用户,但似乎它可能是一个不错的选择。我可以从data.frame对象创建这个直方图吗?
很抱歉这么简短,这是一块df的结构,
'data.frame': 416 obs. of 3 variables:
$ specie: Factor w/ 1 level "speciesA": 1 1 1 1 1 1 1 1 1 1 ...
$ length: num 34.5 35 35.5 36 36.5 37 37.5 38 38.5 39 ...
$ Counts: num 2 0 0 0 1 0 1 1 0 1 ...
在这种情况下,渔民捕获2个人34.5厘米大,1 36.5,等等...... 非常感谢您的回答
答案 0 :(得分:0)
由于您未提供数据样本,因此我根据您的描述创建了数据。
鱼的长度从34.5到49.5(任意单位:a.u。)。鱼的最小长度为34.5,鱼的最大长度为49.5
x <- 34.5:49.5
具有特定长度的鱼数从0开始,到2结束。
y <- 0:2
创建长度为x
的计数样本 Counts <- sample(y, length(x), replace=TRUE)
创建包含长度和计数的dataframe1。注意:df1的结构满足您描述的数据结构
df1 <- data.frame(length=x, Counts = Counts)
由于您已经计算了具有特定长度的鱼的数量,您必须将其转换回原始格式,即,如果2鱼有34.5(a.u),则应将其转换回两个34.5s。
df2 <- data.frame(length = rep(df1$length, df1$Counts))
使用ggplot函数绘制数据。请注意,有很多方法可以做同样的情节。您也可以尝试geom_histogram来获得相同的情节。
require("ggplot2")
ggplot(data=df2, aes(x=length, xmin=34.5, xmax=49.5)) + stat_bin(binwidth=1)
检查此site以获取更多信息
希望这有帮助!