df <- data.frame(a = c(1, 2, 3), b = c(4, 5, 6))
#> a b
#> 1 1 4
#> 2 2 5
#> 3 3 6
我想出了如何用基础 R 覆盖数据。也许那是学习 R 的第一天。
df[2:3, 2] <- c(50, 60)
#> a b
#> 1 1 4
#> 2 2 50
#> 3 3 60
我从未找到使用 dplyr 的简单方法。如何使用管道 %>%
覆盖数据?
最佳答案
我们可以在mutate
中使用replace
。如果我们可以使用列名称,即“b”,则通过在 replace
中指定 list
参数来替换“b”,方法是使用索引行和作为向量
的值
library(dplyr)
df %>%
mutate(b = replace(b, 2:3, c(50, 60)))
# a b
#1 1 4
#2 2 50
#3 3 60
或者在mutate_at
中指定列的索引
df %>%
mutate_at(2, replace, list = 2:3, values = c(50, 60))
关于r - 如何使用 dplyr 覆盖数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54749264/