[英]Adding a column on R dataframe with NA values
I have a data frame name df on R: 我在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 2
5 BR073ELAC5EIANID-115781 2014-04-18 2 3
And I would like to add a column equal to 1 if column c = NA and if column d = NA I try the following : 如果列c = NA,列d = NA,我想添加等于1的列,请尝试以下操作:
df$e <- (if(is.na(df$c) && is.na(df$d)) 1 else 0)
but I get all the column e equal to 1 但我得到的所有列e等于1
You can avoid ifelse
, just use &
您可以避免
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
Here's one approach using logical indexing: 这是使用逻辑索引的一种方法:
as.numeric(is.na(df$c) & is.na(df$d))
## [1] 0 1 0 0 0
Or 要么
df$e <- 1*(rowSums(is.na(df[,3:4]))==2)
df$e
#[1] 0 1 0 0 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.