r - merge data frames to eliminate missing observations -
i have 2 data frames. 1 (df1
) contains columns , rows of interest, includes missing observations. other (df2
) includes values used in place of missing observations, , includes columns , rows @ least 1 na
present in df1
. merge 2 data sets somehow obtain desired.result
.
this seems simple problem solve, drawing blank. cannot merge
work. maybe write nested for-loops
, have not done yet. tried aggregate
few time. little afraid post question, fearing r
card might revoked. sorry if duplicate. did search here , google intensively. thank advice. solution in base r
preferable.
df1 = read.table(text = " county year1 year2 year3 aa 10 20 30 bb 1 na 3 cc 5 10 na dd 100 na 200 ", sep = "", header = true) df2 = read.table(text = " county year2 year3 bb 2 na cc na 15 dd 150 na ", sep = "", header = true) desired.result = read.table(text = " county year1 year2 year3 aa 10 20 30 bb 1 2 3 cc 5 10 15 dd 100 150 200 ", sep = "", header = true)
aggregate
can this:
aggregate(. ~ county, data=merge(df1, df2, all=true), # merged data, including nas na.action=na.pass, # aggregate rows missing values... fun=sum, na.rm=true) # ...but instruct "sum" ignore them. ## county year2 year3 year1 ## 1 aa 20 30 10 ## 2 bb 2 3 1 ## 3 cc 10 15 5 ## 4 dd 150 200 100
Comments
Post a Comment