我有一个数据集,我每小时观察不同的物种。对于每个小时,对每个物种汇集所有观察结果,并且这进行24小时。以下是数据帧的一部分:
Hr Sp1 Sp2 Sp3 Sp4 Sp5
1 8 25 1 7 7
2 3 14 0 50 4
3 5 25 1 4 10
4 7 26 1 4 11
5 5 19 0 7 11
我想绘制一个密度曲线,用于观察每个物种的时间。因此,我有00个连续组(0100小时,0200小时...... 2400小时),从0000小时开始作为x轴,y轴是每个物种24小时内每小时的计数或观察结果。请建议我如何在R中做到这一点? 我还想在一个图中的所有物种密度曲线。我该怎么做?
非常感谢!
答案 0 :(得分:1)
library(reshape2)
library(ggplot2)
dt <- data.frame(Hr = 1:5,
Sp1 = c(8, 3, 5, 7, 5),
Sp2 = c(25, 14, 25, 26, 19),
Sp3 = c(1, 0, 1, 1, 0),
Sp4 = c(7, 50, 4, 4, 7),
Sp5 = c(7, 4, 10, 11, 11))
data <- melt(dt, id = c("Hr"))
data <- data.frame(Hr = rep(data$Hr, data$value),
variable = rep(data$variable, data$value))
ggplot(data, aes(Hr, colour = variable)) + geom_density()