如果从现有数据框创建新数据框时不存在值,则插入NA

时间:2018-08-04 12:34:41

标签: r

我有一个数据框,我尝试使用如下代码将其某些值保存在循环中:

dfnew<- rbind(dfnew, data.frame(var1new= df$var1,
                                var2new = df$var2))

有时var1或var2不存在于df中,问题在于存在错误,因为df的列长与dfnew不相同,并且循环停止执行。

如果该值不存在,是否有任何简单的方法可以插入NA?避免以前不检查多行代码的值。 像这样

dfnew<- rbind(dfnew, data.frame(var1new= df$var1 || NA,
                                var2new = df$var2|| NA))

1 个答案:

答案 0 :(得分:1)

使用if语句:

dfnew<- rbind(dfnew, data.frame(var1new= ifelse(is.null(df$var1),NA,df$var1) ,
                            var2new = ifelse(is.null(df$var2),NA,df$var2)))