【问题标题】:How to get data frame ready in order to use vegan package?如何准备好数据框以使用 vegan 包?
【发布时间】:2021-11-21 16:31:16
【问题描述】:

我有一个数据集,我想在其中计算每年在两个不同地点的每个地块中有多少独特物种。在这个数据集中,植物成分在整个生长季节被多次采集。我基本上想要每年每个地块中独特物种的总数以及哪些物种构成了该总数。

例如,我想要这些信息:

情节 - A1
total_species - 3
物种 - Apan、Acmi、Cest
年份 - 2016

数据框的一个子集:

structure(list(species = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L), .Label = c("Acmi", 
"Acsa", "Amla", "Animal_Disturbance", "Ansp", "Apan", "Arel", 
"Assp", "Bare_Ground", "Bavu", "Brown", "Cahi", "Cape", "Ceor", 
"Cest", "Crsp", "Daca", "Dagl", "Dasp", "Elre", "Erci", "Ersp", 
"Eugr", "Frve", "Hisp", "Hype", "Litter", "Pesp", "Phpr", "Pore", 
"Posp", "Prsp", "Ptaq", "Ruac", "Rusp", "Soca", "Soju", "Sosp", 
"Syla", "Taof", "Thar", "Trsp", "Uhsp", "Unknown", "Vear", "Vert_Litter"
), class = "factor"), site = c("kbs", "kbs", "kbs", "kbs", "kbs", 
"kbs", "kbs", "kbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", 
"umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs", "umbs"
), plot = c("D6", "D6", "D6", "D6", "D6", "D6", "D6", "D6", "B4", 
"B4", "B4", "B4", "B4", "B4", "B4", "B4", "B4", "C3", "C3", "C3", 
"C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", 
"C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", 
"C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", "C3", 
"C3", "C3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", 
"D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", 
"D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", "D3", 
"D3", "D3", "D3", "D3", "D3", "D3", "D3", "A4", "A4", "A4", "A4", 
"A4", "A4", "A4", "A4")), row.names = 1022:1122, class = "data.frame")

我试过了:

comp1 <- comp %>% 
        group_by(site, plot, year, species) %>% 
        summarise(species_total = count(species))

我最终需要将这些数据转换为宽格式,以便在 R 中的 vegan 包中工作,以计算各种多样性指数。

【问题讨论】:

    标签: r dplyr vegan


    【解决方案1】:

    我们可以使用count作为

    library(dplyr)
    count(comp, species, site, plot)
    

    -输出

      species site plot  n
    1    Acmi  kbs   D6  8
    2    Amla umbs   B4  9
    3    Amla umbs   C3 38
    4    Amla umbs   D3 38
    5    Ansp umbs   A4  8
    

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 2017-02-19
      • 1970-01-01
      • 2012-10-19
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多