R-字符串比较以重新编码另一个变量的值



我有一个R数据帧,如果另一列单元格是特定字符串,我将尝试重新分配空白或不正确的单元格值。数据帧如下所示。

南方AVPower中西部AVPower中西部
A B
PowerSec SOUTH
AVPower SOUTH
PowerSec SOUTH
PowerSecSOUTH

如果您只想替换B = 'South'处的缺失值,并且您的缺失值由空白(''(表示。

df$A[df$A == '' & df$B == 'SOUTH'] <- 'PowerSec'

如果缺失的值由CCD_ 3。

df$A[is.na(df$A) & df$B == 'SOUTH'] <- 'PowerSec'

如果要将每个B = 'SOUTH'A值替换为'PowerSec',而不管它是否丢失。

df$A[df$B %in% 'SOUTH'] <- 'PowerSec'

数据

如果您使用dput(df)以更容易复制的可复制格式共享数据(如下所示(,则会有所帮助。

df <- structure(list(A = c("PowerSec", "AVPower", "PowerSec", "", "PowerSec", 
"AVPower", "AVPower"), B = c("SOUTH", "SOUTH", "SOUTH", "SOUTH", 
"SOUTH", "MIDWEST", "MIDWEST")), row.names = c(NA, -7L), class = "data.frame")

我们可以使用replace

df$A <- replace(df$A, df$A == '' & df$B == 'SOUTH', "PowerSec")

相关内容

最新更新