更改具有特定列值的行
Changing rows with certain column values
我有一个包含 3 列 $a (char)、$b (char) 和 $c (int) 的数据框。
a b c
1 NA NA NA
2 NA Donald 0
3 shawn john 120
.
.
.
我想替换 df$c==0 和 df$a==NA 的行,但保持 df$b 不变。
我想要 df[df$a && df$c==0 ==NA] <- c("IGNORED",same as before,"IGNORED")
这样的东西
所以我的第二行将变成
2 IGNORED Donald IGNORED
我必须使用列名,而不是列号。有推荐的套餐吗?或者基本功能可以吗?
您可以先获取满足您的条件的所有行:
replaces <- which(is.na(df$a) & df$c == 0)
然后更新 'a' 和 'c' 字段,保持 'b' 不变:
df[replaces,]$a <- 'IGNORED'
df[replaces,]$c <- 'IGNORED'
我有一个包含 3 列 $a (char)、$b (char) 和 $c (int) 的数据框。
a b c
1 NA NA NA
2 NA Donald 0
3 shawn john 120
.
.
.
我想替换 df$c==0 和 df$a==NA 的行,但保持 df$b 不变。
我想要 df[df$a && df$c==0 ==NA] <- c("IGNORED",same as before,"IGNORED")
所以我的第二行将变成
2 IGNORED Donald IGNORED
我必须使用列名,而不是列号。有推荐的套餐吗?或者基本功能可以吗?
您可以先获取满足您的条件的所有行:
replaces <- which(is.na(df$a) & df$c == 0)
然后更新 'a' 和 'c' 字段,保持 'b' 不变:
df[replaces,]$a <- 'IGNORED'
df[replaces,]$c <- 'IGNORED'