【发布时间】:2020-12-10 12:26:59
【问题描述】:
我之前使用dplyr 中的mutate_all 函数来替换我的数据框中的值。我正在尝试更新我的代码以适应新的跨函数,但我不确定如何更新它以便它可以执行替换功能。
下面是一个示例数据集。
df$A <- c(10,0,0,0,0,0,12,12,0,14,-99,14,-99,-99,16,16)
df$B <- c(10,0,0,0,12,12,12,12,0,14,-99,14,16,16,16,16)
df$C <- c(10,12,14,16,10,12,14,16,10,12,14,16,10,12,14,16)
A B C
10 10 10
0 0 12
0 0 14
0 0 16
0 12 10
0 12 12
12 12 14
12 12 16
0 0 10
14 14 12
-99 -99 14
14 14 16
-99 16 10
-99 16 12
16 16 14
16 16 16
我之前用来替换某个值(在本例中为-99)的代码如下,并且成功。
df %>% mutate_all(funs(replace(., .== -99, "Removed")))
A B C
10 10 10
0 0 12
0 0 14
0 0 16
0 12 10
0 12 12
12 12 14
12 12 16
0 0 10
14 14 12
Removed Removed 14
14 14 16
Removed 16 10
Removed 16 12
16 16 14
16 16 16
下面是我如何尝试为everything 实现across 函数(这用我想要的替换值替换了数据框中的所有单元格;不仅仅是-99 的实例)。
df %>% mutate(across(everything(), replace, -99 , "Removed"))
【问题讨论】: