每个属和治疗的丰度变化百分比

时间:2020-04-11 01:17:58

标签: dplyr percentage

我不熟悉tydir,但我真的很喜欢它的简单性。但是,我一直在努力弄清楚如何计算每个特定属每次治疗的丰度变化百分比。例如,大火后火棘属的数量大量增加。

我的数据包含三列:问题中每个分类单元的丰度,治疗(已燃烧或未燃烧)和属(火棘,芽孢杆菌等),总共我有15个属(15个属,2种处理(已燃烧与未燃烧),以及它们各自的丰度。

SampleID |治疗|丰度|属
CNF1T1 |烧了0.23 |吡罗内玛
CNF2T1 |烧了0.10 |曲霉菌

CNF3T1 |未烧| 0.02 |吡罗内玛
CNF4T1 |未烧| 0.05 |曲霉菌

我的元数据快照:

enter image description here

浏览该网站后,我看到了一些可以使用的代码,但似乎并没有按照我的需要去做。 请参见下文:我使用的代码似乎未按“治疗”或“属”对百分比进行分组。我不确定自己在做什么错,但是如果有人可以帮助我,我将非常感激:

我使用的代码如下,根据我在本网站上发现的内容,该代码略有变化。

**使用的代码:**

`Gen15MeltTrt %>% 
group_by(Treatment, Genus) %>% 
transmute(percent = 100 * Abundance / sum(Abundance))`*** 

我使用了transmute,因为我想创建一个仅包含感兴趣变量的新表 。

上面代码的输出

治疗|属|百分比**

未烧掉| Inocybe | 10.1

未烧掉|锥thy | 21.0

未烧掉|锁甲4.65

未烧掉|锁甲4.65

未烧掉|锁甲4.65

烧伤| pyronema | 1.48

未烧掉| pyronema | 30.5

烧伤| pyronema | 1.48

烧伤|青霉| 1.82

1 个答案:

答案 0 :(得分:0)

欢迎使用stackoverflow和R和dplyr!提出问题的提示:如果您尝试提炼出您所面临的问题,并且最好将其置于任何人都易于理解的环境中,则这种方法更容易。一种简单的方法是在R中可用的数据集中找到您面临的问题。下面,我尝试根据ChickWeight数据集为您提供答案。它在dplyr中包含了很多非常方便的功能,建议您将牙齿沉入group_bymutatefirst中。

library(dplyr)

df <- ChickWeight

df %>% 
  group_by(Chick) %>% 
  mutate(percent = (weight - first(weight))/first(weight)*100)

编辑: 获取每种处理的百分比变化(ChickWeight数据集中的饮食类型。

df2 <- df %>% 
  group_by(Diet,Time) %>% 
  summarise(mean = mean(weight,na.rm = T)) %>% 
  mutate(percent = (mean - first(mean))/first(mean)*100) 

祝你好运!