Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 绘制两个分类向量_R_Ggplot2_Ggridges - Fatal编程技术网

R 绘制两个分类向量

R 绘制两个分类向量,r,ggplot2,ggridges,R,Ggplot2,Ggridges,我有一个包含一些生物体的数据集,我想在y轴上绘制,与日期对比,我想在x轴上绘制。然而,我想要曲线的波动来代表生物的丰度。也就是说,我想画一个时间序列,相对丰度由生物体分开,以显示类似的时间模式 然而,当然,仅仅绘制一个生物的日期并不能得到任何关于丰度的信息。所以,我的问题是,有没有一种方法可以让曲线用ggridges来表示丰度 以下是我的示例数据集代码: set.seed(1) Data <- data.frame( Abundance = sample(1:100), Organ

我有一个包含一些生物体的数据集,我想在y轴上绘制,与日期对比,我想在x轴上绘制。然而,我想要曲线的波动来代表生物的丰度。也就是说,我想画一个时间序列,相对丰度由生物体分开,以显示类似的时间模式

然而,当然,仅仅绘制一个生物的日期并不能得到任何关于丰度的信息。所以,我的问题是,有没有一种方法可以让曲线用ggridges来表示丰度

以下是我的示例数据集代码:

set.seed(1)
Data <- data.frame(
  Abundance = sample(1:100),
  Organism = sample(c("organism1", "organism2"), 100, replace = TRUE)
)
Date = rep(seq(from = as.Date("2016-01-01"), to = as.Date("2016-10-01"), by = 
'month'),times=10)
Data <- cbind(Date, Data)

ggplot(Data, aes(x = Abundance, y = Organism)) + 
  geom_density_ridges(scale=1.15, alpha=0.6, color="grey90")
set.seed(1)

数据使用
geom\u density\u ridges
,将有助于重塑数据,将观察结果显示在单独的行中,而不是像
丰度
所总结的那样

library(ggplot2); library(ggridges); library(dplyr)
# Uncount copies the row "Abundance" number of times
Data_sum <- Data %>%
  tidyr::uncount(Abundance)

ggplot(Data_sum, aes(x = Date, y = Organism)) + 
  ggridges::geom_density_ridges(scale=1, alpha=0.6, color="grey90")
库(ggplot2);图书馆(GG);图书馆(dplyr)
#取消计数复制行“丰度”的次数
数据总和%
三年:未计(丰度)
ggplot(数据总和,aes(x=日期,y=生物体))+
ggridges::几何密度脊线(比例=1,α=0.6,颜色=“灰色90”)

这让一切都不同了!我以前从未遇到过uncount函数。非常感谢你@AnniDjurhuus:如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这将帮助将来可能遇到同样问题的读者。这也会给回答者和你自己带来一些声誉。没有义务这样做。