r - 统计未服药的患者
问题描述
我有一个数据框,其中患者随着时间的推移对药物使用有多次观察。一些患者一直使用药物,另一些患者有差距,而我正在尝试计算从未使用过药物的患者。
我无法显示实际数据,但这是我正在使用的示例数据框。
patid meds
1 0
1 1
1 1
2 0
2 0
3 1
3 1
3 1
4 0
5 1
5 0
因此,这两名患者(4 和 2)从未使用过药物。这就是我要找的。
我对 R 相当陌生,不知道如何做到这一点,任何人都将不胜感激。
解决方案
dplyr
这是包装的另一种选择。
library(dplyr)
df <- data.frame(patid = c(1,1,1,2,2,3,3,3,4,5,5),
meds = c(0,1,1,0,0,1,1,1,0,1,0))
df %>%
distinct(patid, meds) %>%
arrange(desc(meds))%>%
filter(meds == 0 & !duplicated(patid))
# patid meds
#1 2 0
#2 4 0
推荐阅读
- zabbix - 如何在 Zabbix 上监控 Nginx
- javascript - 无法正确读取 .txt 文件中的值
- java - layeredPane 中同一位置的 2 个 MouseListener
- json - 在arduino中反序列化json中的json
- ruby-on-rails - 如何检查用户是否已经评价了一本书
- reactjs - 标签列表未显示在图表中?
- jquery - 如何阻止我的 jquery 可拖动克隆远离鼠标指针?
- ruby - 全屏模式在 selenium chromedriver 无头模式下不起作用
- jquery - 显示一个 div 内容并在另一个 div 中显示
- symfony - Twig - 带有原始标签的 Bootstrap 4 布局