Используйте трубы в R, чтобы установить данные - PullRequest
0 голосов
/ 04 октября 2019

Можно ли использовать оператор канала в R (не для получения), а для установки данных?

Допустим, я хочу изменить первую строку набора данных mtcars и установить значение qsec равным99.

Традиционный способ:

mtcars[1, 7] <- 99

Возможно ли это с помощью оператора канала?

mtcars %>% filter(qsec == 16.46) %>% select(qsec) <- 99

1 Ответ

2 голосов
/ 04 октября 2019

Если мы находимся в состоянии, когда цепочка абсолютно необходима или интересно узнать, может ли <- применяться в цепочке

library(magrittr)
mtcars %>% 
    `[<-`(1, 7, 99) %>%
     head(2)
#              mpg cyl disp  hp drat    wt  qsec vs am gear carb
#Mazda RX4      21   6  160 110  3.9 2.620 99.00  0  1    4    4
#Mazda RX4 Wag  21   6  160 110  3.9 2.875 17.02  0  1    4    4

Кроме того, inset (из комментариев) являетсяпсевдоним для [<-

mtcars %>% 
   inset(1, 7, 99) %>%
   head(2)
...