gpt4 book ai didi

将数字列中的 NA 替换为字符串标签 "not significant"

转载 作者:行者123 更新时间:2023-12-02 18:17:55 24 4
gpt4 key购买 nike

想要用字符串标签替换我的数据框的某些数字列中的 NA -“不重要”。我尝试了以下方法,但出现错误

library(dplyr)
library(tidyr)

df_inu <- df_inu %>%
mutate_at(vars(a, b, c), ~replace_na(.x, "not significant"))

下面的示例数据

set.seed(1234)

df_inu <- data.frame(a = sample(c(1:20, NA), 20, replace = T),
b = sample(c(1:15, NA), 20, replace = T),
c = sample(c(1:50, NA), 20, replace = T))

最佳答案

在较新版本的dplyr中,_at/_all已被弃用,取而代之的是across(尽管无法重现提到的错误)通过 OP 使用 dplyr - 1.0.7tidyr - 1.1.3)

library(dplyr)
library(tidyr)
df_inu <- df_inu %>%
mutate(across(where(is.numeric), replace_na, "not significant"))

-输出

df_inu
a b c
1 16 4 not significant
2 5 8 36
3 12 3 8
4 15 4 32
5 9 15 42
6 5 15 43
7 6 13 2
8 16 10 15
9 4 5 49
10 2 2 38
11 7 14 not significant
12 6 15 6
13 15 8 49
14 14 11 29
15 20 4 32
16 14 not significant 49
17 4 12 8
18 4 3 26
19 not significant 7 17
20 8 9 8

如上所述,如果存在与type差异相关的错误(可能发生在某些版本中),请在应用replace_na之前转换为character >

df_inu %>%
mutate(across(where(is.numeric),
~ replace_na(as.character(.x), "not significant")))

关于将数字列中的 NA 替换为字符串标签 "not significant",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71297729/

24 4 0