我是R的新手,并试图在每个采样深度制作各种物种的物种小数据。数据如下所示
Depth Cd Cf Cl
1 3.6576 0 2 0
2 4.0000 2 13 0
3 4.2672 0 0 0
4 13.1064 0 2 0
5 14.0000 3 17 10
6 17.0000 0 0 0
第2-5列中的物种和第1列中的深度。我试图在R中使用ggplot2但是假设数据没有以ggplot2可以使用的方式组织。理想情况下,我希望深度为y轴和沿x轴的物种,每个都有小提琴图。谢谢您的帮助。 亚历
答案 0 :(得分:2)
就像您怀疑的那样,您需要重塑数据。使用tidyr::gather
更改格式为" wide" to" long",在这种情况下,在x轴上绘制物种是必要的。此外,您需要使用slice
扩展计数数据。
library(tidyverse)
zz <- "Depth Cd Cf Cl
1 3.6576 0 2 0
2 4.0000 2 13 0
3 4.2672 0 0 0
4 13.1064 0 2 0
5 14.0000 3 17 10
6 17.0000 0 0 0"
my_dat <- read.table(text = zz, header = T)
my_dat %>%
gather(species, val, -Depth) %>%
slice(rep(row_number(), val)) %>%
ggplot(aes(species, Depth)) +
geom_violin(adjust = .5)
答案 1 :(得分:2)