[英]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.