小编ban*_*d15的帖子

使用replace_na()的列数不确定

我的数据框如下所示:

df <- tibble(x = c(1, 2, NA),
             y = c(1, NA, 3),
             z = c(NA, 2, 3))
Run Code Online (Sandbox Code Playgroud)

我想使用tidyr :: replace_na()将NA替换为0。正如该函数的文档所阐明的那样,一旦知道要在哪个列上执行操作,就可以很容易地做到这一点。

df <- df %>% replace_na(list(x = 0, y = 0, z = 0))
Run Code Online (Sandbox Code Playgroud)

但是,如果列数不确定,该怎么办?(之所以说“不确定”,是因为我试图创建一个使用dplyr工具即时执行此操作的函数。)如果我没记错的话,等效于我要使用上述工具实现的基数R是:

df[, 1:ncol(df)][is.na(df[, 1:ncol(df)])] <- 0
Run Code Online (Sandbox Code Playgroud)

但是我总是很难理解这个代码。在此先感谢您的帮助。

r dplyr tidyr tidyeval

2
推荐指数
1
解决办法
480
查看次数

标签 统计

dplyr ×1

r ×1

tidyeval ×1

tidyr ×1