Как я могу заменить многие значения вектора DF строками? - PullRequest
1 голос
/ 28 апреля 2019

У меня есть DF1 со столбцом, который имеет 20000 наблюдений, он имеет 1214 уникальных значений, таких как 5,10,15, ... 7480, и у меня есть другой DF2 с двумя столбцами размера 1214, первый имеет те же значения 5,10,15, ... 7480 и второе имеют имена, которые соответствуют каждому числу в первом столбце, например, 5 соответствуют DAVID, 10 соответствуют XIMENA и т. Д. Вопрос в том, как я могу изменить значения DF1 по именам, соответствующим DF2? Спасибо вам большое !

       ACTUAL STATUS
DF1:                    DF2:
COLUMN1                 COL1    COL2
 5                       5      DAVID
 5                       10     XIMENA
 5                       15     CARLOS
 10                      20     ROBERT
 10                      .        .
 10                      .        .
 15                      .        .
 15                      7480     RITA
 15                     
 .                     
 .                      
 .                      
 .  
 7480                    
 7480                  
       EXPECTED RESULT

DF1:                  

COLUMN1               

 DAVID                
 DAVID                
 DAVID                
 XIMENA               
 XIMENA               
 XIMENA               
 CARLOS               
 CARLOS               
 CARLOS                 
 .                     
 .                      
 .                      
 .  
 RITA                  
 RITA                  

1 Ответ

1 голос
/ 28 апреля 2019

Вы можете использовать простой merge, а затем de- select столбец индекса. В этом примере я собрал вместе функции, используя tidyverse, поэтому легко использовать select, чтобы избавиться от индекса, и rename, как вы хотите.

library(tidyverse)

DF1 %>%
  merge(DF2, by.x = "COLUMN1", by.y = "COL1", all.x = T) %>% 
  select(-COLUMN1) %>%
  rename(COLUMN1 = COL2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...