Есть ли аккуратный способ мутировать отдельные клетки в тибле? - PullRequest
0 голосов
/ 14 февраля 2019

Как изменить отдельные ячейки, предпочтительно используя %>%?

Например:

library(dplyr)

df <- iris %>% 
  slice(1:5) 

Производит это:

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa

И если яхочу изменить ячейку, я бы сделал это:

df[1,1] <- 6

Что дает мне это:

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          6.0         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa

Но есть ли лучший способ сделать это?

1 Ответ

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

Вы можете использовать purrr::assign_in:

library(tidyverse)

iris %>% 
  slice(1:5) %>% 
  assign_in(list(1, 1), 6)
#  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1          6.0         3.5          1.4         0.2  setosa
#2          4.9         3.0          1.4         0.2  setosa
#3          4.7         3.2          1.3         0.2  setosa
#4          4.6         3.1          1.5         0.2  setosa
#5          5.0         3.6          1.4         0.2  setosa
...