【问题标题】:Dividing frequency of a variable to create a new dataframe划分变量的频率以创建新的数据框
【发布时间】:2025-12-05 00:05:01
【问题描述】:

我有四个栖息地,每个栖息地三个地点,总共十二个地点。 我想获得每种栖息地类型的物种平均频率,即我想将频率除以三(每个栖息地的地点数量)。我需要使用栖息地、物种和平均频率创建一个新的数据框,以便在 ggplot 中使用。

并非所有物种都存在于每个站点中,因此我认为我不能使用可变站点。

我的数据集是这样的

 Habitat    Site    Species    Frequency
   A         A1         T           3
   A         A2         T           4
   A         A3         U           5
   B         B2         V           12
   C         C2         V           3
   D         D3         X           2

我尝试过使用

Mean_Frequency<-df[,4]/3

这将第四列(频率)除以三,但不包含变量栖息地和物种。

【问题讨论】:

    标签: r


    【解决方案1】:

    如果您只想在数据中添加等于频率 / 3 的列:

    df$Mean_Frequency <- df$Frequency / 3
    

    如果您想计算每个栖息地每个物种的平均频率:

    library(data.table)    
    setDT(df)[, .(Mean_Frequency = mean(Frequency)), .(Habitat, Species)]
    

    【讨论】: