R重新编码多个缺失值

问题描述 投票:0回答:2
set.seed(1)
data=data.frame("a"=sample(-5:5, 20, r=T),
"b"=sample(-5:5, 20, r=T),
"c"=sample(-5:5, 20, r=T))

最有效的设置值:使用实际列名在'a'和'b'和'c'上将值-5,-3、4设置为'NA'的方法?

r data.table
2个回答
2
投票

使用dplyr,您可以尝试:

data %>%
 mutate_at(vars(a, b, c), ~ replace(., . %in% c(-5, -3, 4), NA))

    a  b  c
1  NA  5 NA
2  -1 NA  2
3   1  2  3
4  NA -4  1
5  NA NA  0
6  NA -1  3
7   5 NA NA
8   2 -1  0
9   1 NA  3
10 NA -2  2

0
投票

一个选项。是

 data[data == c(-5, -3, 4)[col(data)]] <- NA
© www.soinside.com 2019 - 2024. All rights reserved.