我使用以下代码从原始数据'pseudo'生成data.frame'df'.
> df<-pseudo %>% group_by(Drug, CLSI_interpretation) %>%
summarise(n = n()) %>%
filter(Drug %in% c('Cefepime', 'Ceftazidime', 'Piperacillin','Piperacillin/tazobactam','Imipenem','Meropenem','Doripenem','Ciprofloxacin','Levofloxacin','Gentamicin','Tobramycin','Amikacin')) %>%
mutate(freq = (n/sum(n)*100))
Run Code Online (Sandbox Code Playgroud)
加上一个很长的mapvalues函数,可以从'Drug'创建'class'列.
到目前为止一切都好; 生成如下所示的数据集:
Drug CLSI n freq class
Amikacin I 7213 4.25503047 Aminoglycosides
Amikacin R 13995 8.25580915 Aminoglycosides
Amikacin S 148309 87.48916038 Aminoglycosides
Cefepime I 13326 8.87713502 Cephalosporins
Cefepime R 9744 6.49098031 Cephalosporins
Cefepime S 127046 84.63188468 Cephalosporins
Ceftazidime I 10836 5.98558290 Cephalosporins
Ceftazidime R 15276 8.43814732 Cephalosporins
Ceftazidime S 154923 85.57626978 Cephalosporins
Ciprofloxacin I 8949 4.74295103 Fluoroquinolones
Ciprofloxacin R 31563 16.72832309 Fluoroquinolones
Run Code Online (Sandbox Code Playgroud)
我正在努力完成下一步.我需要通过'class'对这些数据进行分组,并且对于每个类总计%c中的CLSI%的'n'('I','R')并生成一个新频率......基本上,n(I + R) )/ n(I + R + S)和每个类的n(S)/ n(I + R + S).在计算汇总函数时遇到很多麻烦,因为我需要根据对另一个(CLSI)的引用来总结一个变量(n),并按第三个(类)进行分组.谢谢你的帮助.
显示完整的代码(包括读取数据)总是很好.看起来像是pseudo你的数据.%>%管道中项目的语法 与通常的R略有不同,因为第一个参数隐式地是管道内容.或者,简单地说:从您的通话中删除"伪".
library(dplyr)
pseudo = read.table("a.csv",header=TRUE)
pseudo <- pseudo %>%
group_by(class, CLSI) %>% summarise(n= n())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |