首页 > 解决方案 > R中数据帧的对数比率

问题描述

我有一个包含 5 列和 1000 多行的大数据框,如下所示:

cluster   sample_id proportion  condition patient_id
Basophils Base1001  0.358183106 Base      B1001

每个患者有 18 个不同的集群、2 个样本和 2 个条件。我必须对不同条件下每个集群与其匹配的比例进行对数比率。

我曾尝试使用自动条件,例如df$patient_id == B1001getcluster == Basophils和类似的东西,但我做错了。

我唯一能做的就是对所有内容进行子集化并进行手动日志比率,但这太痛苦了。

prueba1 = subset(ggdf, ggdf$patient_id == "B1001")
prueba2 = subset(prueba1, prueba1$cluster == "Basophils")
prueba3 = prueba2$proportion[1]/prueba2$proportion[2]
prueba4 = log(prueba3)

如何自动比较具有相同姓名和患者但不同情况的集群的比例?

对不起,如果这太基本了,如果是的话,你能告诉我在哪里可以找到分步手册吗?

先感谢您。

标签: rdatabaseextract

解决方案


dplyr非常适合这种数据操作

假设每个患者/集群组合的比例总和为 1,那么这应该可以满足您的需求

library(dplyr)

ggdf %>% 
  select(patient_id, cluster) %>% 
  group_by(patient_id, cluster) %>% 
  summarise(log_proportions=log((proportion/(1-proportion))))



推荐阅读