>

2 개의 데이터 프레임이 있습니다. X와 Y X는 2 개의 열 id와 status를 가지고 있고 Y df는 많은 열을 가지고 있지만이 문제에는 두 개의 열만 필요합니다. DF X

id status 
131 y
127 y
126 y
125 y
124 y
122 y
11  y

DF Y

n_id       id 
867        131       
220        127       
212        127       
198        127       
220        126       
212        126        
198        126        
188        125        
187        125        
166        125        
165        125        
157        125

제외 된 출력은 데이터 프레임에 있어야합니다

id status n_id
131 y     867
127 y     220,212,198
126 y     220,212,198
125 y     188,187,166,165,157
124 y     NA
122 y     NA
11  y     NA

  • 답변 # 1

    dplyr 를 사용할 수 있습니다   id 를 그룹화하는 패키지   df_y 의 필드  개체, n_id 를 축소  문자열에 값을 넣은 다음 df_x 에 결합하십시오.  개체.

    library(dplyr)
    df_x <- data.frame(id = c(131,127,126,125,124,122,11), status = "y")
    df_y <- data.frame(n_id = c(867,220,212,198,220,212, 198,188,187,166,165,157),
                       id = c(131, 127,127,127,126,126,126,125,125,125,125,125))
    
    df_y <- df_y %>%
      group_by(id) %>% 
      summarize(list_col = paste(n_id, collapse=", "))
    df_x <- df_x %>%
      left_join(df_y, by = 'id')
    df_x
    #>    id status                list_col
    #> 1 131      y                     867
    #> 2 127      y           220, 212, 198
    #> 3 126      y           220, 212, 198
    #> 4 125      y 188, 187, 166, 165, 157
    #> 5 124      y                    <NA>
    #> 6 122      y                    <NA>
    #> 7  11      y                    <NA>
    
    

  • 이전 python - 셀레늄이 물결표 문자 (~)를 입력 필드로 보내지 않습니다
  • 다음 r - 웹 사이트 활동을 사용자별로 세션으로 그룹화하려면 어떻게해야합니까?