R 如何使一列的某个值相对于另一列为NA
我想对A列、NA列的每一行进行赋值,其中B列为2: 资料 输出R 如何使一列的某个值相对于另一列为NA,r,dataframe,R,Dataframe,我想对A列、NA列的每一行进行赋值,其中B列为2: 资料 输出 A B NA 2 2 4 NA 5 NA 2 B的第一行和最后一行是2,所以A在这些行中得到了NA。这里有一种在R基中使用ifelse的方法- df$A <- ifelse(df$B == 2, NA_real_, df$A) df$A <- ifelse(df$B == 2, NA_real_,
A B
NA 2
2 4
NA 5
NA 2
B的第一行和最后一行是2,所以A在这些行中得到了NA。这里有一种在R基中使用ifelse的方法-
df$A <- ifelse(df$B == 2, NA_real_, df$A)
df$A <- ifelse(df$B == 2, NA_real_, df$A)
set.seed(0)
df <- data.frame(A = sample(1:10, size=5, replace=T),
B = sample(1:10, size=5, replace=T))
df
A B
1 9 7
2 4 2
3 7 3
4 1 1
5 2 5
df$A[df$B == 2] <- NA
df
A B
1 9 7
2 NA 2
3 7 3
4 1 1
5 2 5