且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将值NA替换为R中另一列的值

更新时间:2022-12-10 09:41:44

也许在R词典中最容易阅读/理解的答案是使用ifelse.因此,我们可以借用Richard的数据框:

Perhaps the easiest to read/understand answer in R lexicon is to use ifelse. So borrowing Richard's dataframe we could do:

df <- structure(list(A = c(56L, NA, NA, 67L, NA),
                     B = c(75L, 45L, 77L, 41L, 65L),
                     Year = c(1921L, 1921L, 1922L, 1923L, 1923L)),.Names = c("A", 
                                                                                                                            "B", "Year"), class = "data.frame", row.names = c(NA, -5L))
df$A <- ifelse(is.na(df$A), df$B, df$A)