Merge two data frame and replace the NA value in R

前端 未结 2 1211
小鲜肉
小鲜肉 2020-12-18 08:19

I have a main table(a), containing column: id, age, and sex. eg.

a <- data.frame(id=letters[1:4], age=c(18,NA,9,NA), sex=c(\"M\",\"F\",\"F\",\"M\"))
  id          


        
2条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-18 08:40

    We can use data.table

    library(data.table)
    setDT(a)[b, agei := i.age, on='id'][is.na(age), age := agei][,agei:= NULL][]
    a
     #  id age sex
    #1:  a  18   M
    #2:  b  32   F
    #3:  c   9   F
    #4:  d  20   M
    

提交回复
热议问题