我想將管(鏈)magrittr對象放入循環中。我怎樣才能做到這一點?
我將使用空操作/數據爲例:優化R鏈(magrittr)
library(data.table)
library(magrittr)
# Dummy data modification
d <- mtcars %>%
setDT() %>%
.[, cylSQ := sqrt(cyl)] %>%
.[, carb3 := carb^3]
# Dummy loop
res <- list()
for(i in unique(d$gear)) {
res[[i]] <- d[gear == i] %>%
.[, lm(cylSQ ~ mpg + carb3 * wt)] %>%
.$fitted.values
}
是否有可能不創建對象d
和管直接循環?例如:
for(i in unique(.$gear)) {
res[[i]] <- .[gear == i] %>%
...
}
編輯:我不想data.table
或dplyr
更換循環,只是好奇管道。
我可能是錯的,是不是有'purrr'包的原因? – zx8754
@ zx8754我以前沒有聽說過它,不知道這是我在找什麼,但仍然看起來非常好,值得一看。感謝您的好建議! – PoGibas
'mtcars%>%setDT'違背了不修改輸入的dplyr語法/哲學fyi。 – Frank