I have a much larger existing dataframe. For this small example, I would like to replace some of the variables (replace state (df1)) with newstate (df2) according to the first column. My problem is that the values ββare returned as NA, since only some of them are mapped in the new data frame (df2).
Existing data frame:
state = c("CA","WA","OR","AZ") first = c("Jim","Mick","Paul","Ron") df1 <- data.frame(first, state) first state 1 Jim CA 2 Mick WA 3 Paul OR 4 Ron AZ
New data frame matching existing data frame
state = c("CA","WA") newstate = c("TX", "LA") first =c("Jim","Mick") df2 <- data.frame(first, state, newstate) first state newstate 1 Jim CA TX 2 Mick WA LA
Tried to use a match, but returns NA for the βstateβ, where the corresponding βfirstβ variable from df2 is not found in the original data frame.
df1$state <- df2$newstate[match(df1$first, df2$first)] first state 1 Jim TX 2 Mick LA 3 Paul <NA> 4 Ron <NA>
Is there a way to ignore the nomogram or is the item returning the existing as-is variable? This will be an example of the desired result: the Jim / Mick states are updated, but the Paul and Ron states do not change.
first state 1 Jim TX 2 Mick LA 3 Paul OR 4 Ron AZ
source share