繁体   English   中英

如何使用分组变量计算 R 中的变量?

[英]How can I compute a variable in R using a grouping variable?

我组织了我的数据集,使其看起来像这样:

样品目标浓度

sample1 突变体 18.36

样品 1 野生型 3563.34

sample2 突变体 19.33

样品 2 野生型 3650.24

sample3 突变体 15.81

样品 3 野生型 3920.16

样本突变体/野生型

样品1 18.36/356334

样本2 19.33/3650.24

样品3 15.81/3920.16

我想按样本计算突变型与野生型的比率,但对于这个看似简单的任务,在 r 的突变 function 中找不到特定参数。

您可以做的一件事是 pivot 您的数据更宽,因此有关每个样本的所有信息都包含在一行中。 我们将为“mutant”和“wildtype”创建一个新列,这些列中的值将是浓度。

首先,我创建了一些可以使用的虚拟数据。

data <- data.frame(sample = c(1,1,2,2,3,3), 
                  type = c("m", "w", "m", "w", "m", "w"), 
                  concentration = c(1,2,3,4,5,6))

虚拟数据:

  sample type concentration
1      1    m             1
2      1    w             2
3      2    m             3
4      2    w             4
5      3    m             5
6      3    w             6

这是你要做的:

library(tidyverse)

data %>% 
  pivot_wider(names_from = type, values_from = concentration) %>% 
  mutate(ratio = m/w) -> data

这就是你得到的:

# A tibble: 3 × 4
  sample     m     w ratio
   <dbl> <dbl> <dbl> <dbl>
1      1     1     2 0.5  
2      2     3     4 0.75 
3      3     5     6 0.833

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM