Подобные строковые значения в строках в датафрейме - PullRequest
0 голосов
/ 28 мая 2018

У меня есть несколько строк в моем фрейме данных в R, где название болезни совпадает, но формулировка изменилась незначительно (плюс изменился на >).

Есть ли способ быстрого сканирования и объединения таких строк?

Несколько примеров:

Row 59: 872 - SEPTICEMIA OR SEVERE SEPSIS W/O MV ***96+*** HOURS W/O MCC
Row 60: 872 - SEPTICEMIA OR SEVERE SEPSIS W/O MV ***>96*** HOURS W/O MCC

Row 3: 003 - ECMO OR TRACH W MV ***96+*** HRS OR PDX EXC FACE, MOUTH & NECK W MAJ 
Row 4: 003 - ECMO OR TRACH W MV ***>96 HRS*** OR PDX EXC FACE, MOUTH & NECK W MAJ 

Ответы [ 2 ]

0 голосов
/ 28 мая 2018
uniqdrg <- unique(drgs, incomparables = FALSE )
uniqdrg$drg <- substr(uniqdrg$drg, 0, 3)
uniqdrg <- uniqdrg %>% arrange(drg)
uniqdrg<-uniqdrg[uniqdrg$drg %in% uniqdrg$drg[duplicated(uniqdrg$drg)],]

Я использовал этот код, чтобы найти повторяющиеся значения.

0 голосов
/ 28 мая 2018

Если вы знаете, сколько у вас будет уникальных записей, вы можете выполнить кластеризацию текста:

> disease.df
     [,1]                                                            
row1 "SEPTICEMIA OR SEVERE SEPSIS W/O MV 96+ HOURS W/O MCC"          
row2 "SEPTICEMIA OR SEVERE SEPSIS W/O MV >96 HOURS W/O MCC"          
row3 "ECMO OR TRACH W MV 96+ HRS OR PDX EXC FACE, MOUTH & NECK W MAJ"
row4 "ECMO OR TRACH W MV >96 HRS OR PDX EXC FACE, MOUTH & NECK W MAJ"

> d <- adist(disease.df)
> rownames(d) <- disease.df
> hc <- hclust(as.dist(d))
> data.frame(disease.df,cutree(hc,k=2))
                                                     disease.df 
cutree.hc..k...2.
row1           SEPTICEMIA OR SEVERE SEPSIS W/O MV 96+ HOURS W/O MCC                 
1
row2           SEPTICEMIA OR SEVERE SEPSIS W/O MV >96 HOURS W/O MCC                 
1
row3 ECMO OR TRACH W MV 96+ HRS OR PDX EXC FACE, MOUTH & NECK W MAJ                 
2
row4 ECMO OR TRACH W MV >96 HRS OR PDX EXC FACE, MOUTH & NECK W MAJ                 
2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...