根据另一列的值将多列替换为缺失
Replace multiple columns to missing based on value of another column
我想要一种有效的方法来将许多列的值替换为 NA
如果它们大于其他列的值。
例如:将 height1:height5
列中的所有值替换为 NA
,如果这些值是 >height6
set.seed(1)
# example data
N <- 200
data <- data.frame(id = 1:N,
height1 = rnorm(N,50:60),
height2 = rnorm(N,60:70),
height3 = rnorm(N,70:80),
height4 = rnorm(N,80:90),
height5 = rnorm(N,90:100),
height6 = rnorm(N,60:110))
使用dplyr
你可以做到
data %>% mutate_at(
vars(height1:height5),
~ifelse(.x > data$height6, NA, .x)
)
我想要一种有效的方法来将许多列的值替换为 NA
如果它们大于其他列的值。
例如:将 height1:height5
列中的所有值替换为 NA
,如果这些值是 >height6
set.seed(1)
# example data
N <- 200
data <- data.frame(id = 1:N,
height1 = rnorm(N,50:60),
height2 = rnorm(N,60:70),
height3 = rnorm(N,70:80),
height4 = rnorm(N,80:90),
height5 = rnorm(N,90:100),
height6 = rnorm(N,60:110))
使用dplyr
你可以做到
data %>% mutate_at(
vars(height1:height5),
~ifelse(.x > data$height6, NA, .x)
)