次のコードを使用して、元のデータ '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))
さらに、'Drug' から 'class' 列を作成する非常に長い mapvalues 関数。
これまでのところすべて順調です。次のようなデータセットを生成します。
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
私は次のステップに苦労しています。このデータを「クラス」ごとにグループ化し、クラスごとに CLSI %in% c('I','R') の「n」を合計し、新しい頻度を生成する必要があります...基本的に、n(I + R各クラスの )/n(I+R+S) および n(S)/n(I+R+S)。ある変数 (n) を別の変数 (CLSI) への参照に基づいて要約し、3 番目 (クラス) でグループ化する必要があるため、要約関数を理解するのに多くの問題があります。ご協力いただきありがとうございます。