Как преобразовать код SAS для поиска дубликатов в моем наборе данных в код R - PullRequest
1 голос
/ 25 октября 2019

Я написал следующий код SAS, чтобы найти дублированные записи, но теперь требуется преобразовать в R. Я плохо разбираюсь в R, как я могу преобразовать этот код SAS в эквивалентный код R? Я пробовал этот код в R, но я думаю, что это неправильно и не дает мне правильных результатов.

Sas Code:

data dup; 
set adhb; by id ass_yr ass_mth fields;
if first.ass_mth and last.ass_mth then delete;
run;    

#Dataset relates to  Health Records
ass_mth-assessment month
ass_year--assessment year
fields-just to mention how many fields used
id --character field
Rest of the variables are numeric  

#  R code
    adhb<-arrange(adhb,adhb$NHI,adhb$Ass_yr,adhb$Ass_mth,adhb$fields)
    x %>% group_by(adhb$NHI,adhb$Ass_yr,adhb$Ass_mth,adhb$fields) %>% 
          filter(duplicated(adhb$Ass_mth))

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Я думаю, вам нужно немного изменить код выше, учитывая вашу логику.

adhb %>% 
    #sort in order needed
    arrange(id, ass_yr, ass_mth, fields) %>%
    #group by relevant variables
    group_by(id, ass_yr, ass_mth) %>% 
    #filter based on # of records per grouping line
    filter(n() > 1)
0 голосов
/ 25 октября 2019

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

set.seed(0)
adhb <- tibble(ass_mth = sample(letters[1:5], 10, T))

adhb %>% 
  group_by(id, ass_yr, ass_mth) %>% 
  filter(n() > 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...