2016-03-21 8 views
0

her küçük grup için kendinden tanımlı fonksiyon uygulamak için:sahip oldukları Nasıl sütuna göre grup veri ve ben her bir hasta ve ilaç hakkında bilgi sahibi olduğu bir ilaç veri kümesi var

   Record.ID   Label.Name  Generic.Medication.Name Strength Quantity Days.Supplied Date.of.Fill GCN GC3   NDC category 
    4  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 30000   30 2014-06-18 19154 M4D 00310075290 statins 
    5  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 90000   90 2014-06-25 19154 M4D 00310075290 statins 
    6  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 90000   90 2014-09-30 19154 M4D 00310075290 statins 
    7  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 90000   90 2014-12-18 19154 M4D 00310075290 statins 
    8  aaaaa   CRESTOR TAB 10 MG ROSUVASTATIN CALCIUM TAB 10 MG 10 MG 90000   90 2014-12-18 19153 M4D 00310075190 statins 
    60  bbbbb  TELMISARTAN TAB 20 MG   TELMISARTAN TAB 20 MG 20 MG 90000   90 2014-01-24 23833 A4F 00054054218  RASA 
    61  bbbbb  TELMISARTAN TAB 20 MG   TELMISARTAN TAB 20 MG 20 MG 90000   90 2014-04-03 23833 A4F 00054054218  RASA 
    62  bbbbb  TELMISARTAN TAB 20 MG   TELMISARTAN TAB 20 MG 20 MG 90000   90 2014-07-21 23833 A4F 00054054218  RASA 
    63  bbbbb  TELMISARTAN TAB 20 MG   TELMISARTAN TAB 20 MG 20 MG 90000   90 2014-10-22 23833 A4F 00054054218  RASA 
    66  ccccc ENALAPRIL MALEATE TAB 2.5 MG ENALAPRIL MALEATE TAB 2.5 MG 2.5 MG 15000   30 2014-01-06 963 A4D 00378105101  RASA 

Ben bir işlev olarak adlandırılan calc_adherence var fonksiyon bana

dönmek

fill <- 
      Record.ID     Label.Name  Generic.Medication.Name Strength Quantity Days.Supplied Date.of.Fill GCN GC3   NDC category 
     4  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 30000   30 2014-06-18 19154 M4D 00310075290 statins 
     5  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 90000   90 2014-06-25 19154 M4D 00310075290 statins 
     6  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 90000   90 2014-09-30 19154 M4D 00310075290 statins 
     7  aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG 90000   90 2014-12-18 19154 M4D 00310075290 statins 
     8  aaaaa   CRESTOR TAB 10 MG ROSUVASTATIN CALCIUM TAB 10 MG 10 MG 90000   90 2014-12-18 19153 M4D 00310075190 statins 

örneğin ,: - < bir veri kümesi ve bir çizgi dönmek giriş fonksiyonu (yıl, doldurun)

Sorum şu ki; ilk önce ilaç veri kümesini Record.ID ve kategoriye göre gruplamak istiyorum ve sonra her küçük gruba calc_adherence'ı uygulamak istiyorum, böylece her hastaya ve her ilaca aldıkları sonucu alabilirim .. deneyin .. ben istiyorum nihai veri kümesi

Record.ID    Label.Name  Generic.Medication.Name Strength Category First_fill Last_fill Duration DaysCovered Year Method Adherence 
    aaaaa   CRESTOR TAB 20 MG ROSUVASTATIN CALCIUM TAB 20 MG 20 MG statins 2014-06-18 2014-12-18 197 days   197 2014 PDC   1 
    aaaaa   ...              RASA ...            PDC   0.8        
    bbbbb   ...              RASA ...            PDC   0.75  
+0

söz üzgün, yıl şimdiye –

+0

'2014' olup, 'list1 <- bölünmüş (df, df $ Record.ID)' ve ardından rbindlist (lapply (liste1, işlev (x)) '? – Sotos

+0

"calc_adherence <- function (fill, year)' işlevini de sağlayabilir misiniz? – useR

cevap

0

olduğunu ben

ddply(category.medication, c('Record.ID','category'), summarize, function(x) calc_adherence(x, year)), 

çalışıyorum ama bu çalışma yok

Veri "veri" adlı Örneğin

,

aggregate(data, by = list(data$Record.ID), calc_adherence) 
İlgili konular