在R dataframe上添加具有NA值的列
我在R上有一个数据帧名称df:在R dataframe上添加具有NA值的列,r,na,R,Na,我在R上有一个数据帧名称df: a b c d 1 BR073ELAC5EIANID-115781 2014-04-14 7 3 2 BR073ELAC5EIANID-115781 2014-04-15 NA NA 3 BR073ELAC5EIANID-115781 2014-04-16 6 3 4 BR073ELAC5EIANID-115781 2014-04-17 5
a b c d
1 BR073ELAC5EIANID-115781 2014-04-14 7 3
2 BR073ELAC5EIANID-115781 2014-04-15 NA NA
3 BR073ELAC5EIANID-115781 2014-04-16 6 3
4 BR073ELAC5EIANID-115781 2014-04-17 5 2
5 BR073ELAC5EIANID-115781 2014-04-18 2 3
如果列c=NA,如果列d=NA,我想添加一个等于1的列
我尝试以下方法:
df$e <- (if(is.na(df$c) && is.na(df$d)) 1 else 0)
df$e这里有一种使用逻辑索引的方法:
as.numeric(is.na(df$c) & is.na(df$d))
## [1] 0 1 0 0 0
这里有一种使用逻辑索引的方法:
as.numeric(is.na(df$c) & is.na(df$d))
## [1] 0 1 0 0 0
您可以避免使用ifelse
,只需使用&
> df$e <- 1*(is.na(df$c) & is.na(df$d))
> df
a b c d e
1 BR073ELAC5EIANID-115781 2014-04-14 7 3 0
2 BR073ELAC5EIANID-115781 2014-04-15 NA NA 1
3 BR073ELAC5EIANID-115781 2014-04-16 6 3 0
4 BR073ELAC5EIANID-115781 2014-04-17 5 2 0
5 BR073ELAC5EIANID-115781 2014-04-18 2 3 0
>df$e df
a、b、c、d、e
1 BR073ELAC5EIANID-115781 2014-04-14 7 3 0
2 BR073ELAC5EIANID-115781 2014-04-15 NA 1
3 BR073ELAC5EIANID-115781 2014-04-16 6 3 0
4 BR073ELAC5EIANID-115781 2014-04-17 5 2 0
5 BR073ELAC5EIANID-115781 2014-04-18 2 3 0
你可以避免ifelse
,只要使用&
> df$e <- 1*(is.na(df$c) & is.na(df$d))
> df
a b c d e
1 BR073ELAC5EIANID-115781 2014-04-14 7 3 0
2 BR073ELAC5EIANID-115781 2014-04-15 NA NA 1
3 BR073ELAC5EIANID-115781 2014-04-16 6 3 0
4 BR073ELAC5EIANID-115781 2014-04-17 5 2 0
5 BR073ELAC5EIANID-115781 2014-04-18 2 3 0
>df$e df
a、b、c、d、e
1 BR073ELAC5EIANID-115781 2014-04-14 7 3 0
2 BR073ELAC5EIANID-115781 2014-04-15 NA 1
3 BR073ELAC5EIANID-115781 2014-04-16 6 3 0
4 BR073ELAC5EIANID-115781 2014-04-17 5 2 0
5 BR073ELAC5EIANID-115781 2014-04-18 2 3 0
或
df$e或
df$edf$edf$e