r - R中数据帧的对数比率
问题描述
我有一个包含 5 列和 1000 多行的大数据框,如下所示:
cluster sample_id proportion condition patient_id
Basophils Base1001 0.358183106 Base B1001
每个患者有 18 个不同的集群、2 个样本和 2 个条件。我必须对不同条件下每个集群与其匹配的比例进行对数比率。
我曾尝试使用自动条件,例如df$patient_id == B1001
getcluster == Basophils
和类似的东西,但我做错了。
我唯一能做的就是对所有内容进行子集化并进行手动日志比率,但这太痛苦了。
prueba1 = subset(ggdf, ggdf$patient_id == "B1001")
prueba2 = subset(prueba1, prueba1$cluster == "Basophils")
prueba3 = prueba2$proportion[1]/prueba2$proportion[2]
prueba4 = log(prueba3)
如何自动比较具有相同姓名和患者但不同情况的集群的比例?
对不起,如果这太基本了,如果是的话,你能告诉我在哪里可以找到分步手册吗?
先感谢您。
解决方案
dplyr
非常适合这种数据操作
假设每个患者/集群组合的比例总和为 1,那么这应该可以满足您的需求
library(dplyr)
ggdf %>%
select(patient_id, cluster) %>%
group_by(patient_id, cluster) %>%
summarise(log_proportions=log((proportion/(1-proportion))))
推荐阅读
- c# - 控制台应用无法反序列化 JSON
- node.js - 将代码放在 app.listen 内部和外部有什么区别?
- python - 循环遍历多个数据帧并创建日期时间索引然后加入数据帧
- javascript - 如何使用 JS 随机化我的输入位置?
- sql - 如何计算带有滚动日期窗口的 SAS PROC SQL 的不同?
- wordpress - 更改特定 Woocommerce 产品类别存档页面的默认排序
- django - 在 CircleCI 上运行 Django - psycopg2.OperationalError:无法连接到服务器:连接被拒绝
- django - django 中用于 GenericRelation 的 DRF 可写序列化程序
- websphere-liberty - 在 server.xml 中使用 maven 过滤而不破坏 mvn liberty:dev
- c++ - 如何确保 boids 100% 的时间避开墙壁