Как перезаписать данные с помощью dplyr? - PullRequest
0 голосов
/ 18 февраля 2019
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.Как перезаписать данные с помощью канала %>%?

1 Ответ

0 голосов
/ 18 февраля 2019

Мы можем использовать replace в пределах mutate.Если мы можем использовать имена столбцов, то есть 'b', replace, то 'b', указав параметр list в replace с индексом строк и values в качестве vector

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...