r - 在 purrr 工作流程中使用 mutate
问题描述
我得到了以下数据集:
dflist <- list(mtcars, mtcars)
dflist[[1]] %>%
mutate(cyl2 = cyl * 2)
这行得通!
dflist %>%
map(.x, ~.x$cyl2 = .x$cyl * 2)
Error: unexpected '=' in:
"dflist %>%
map(.x, ~x$cyl2 ="
这会导致错误。我尝试了其他选项,但该功能除了=
标志之外没有。那里有什么问题?
解决方案
尝试 :
library(dplyr)
library(purrr)
dflist %>% map(~.x %>% mutate(cyl2 = cyl * 2))
#[[1]]
# mpg cyl disp hp drat wt qsec vs am gear carb cyl2
#1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 12
#2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 12
#3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 8
#4 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 12
#5 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 16
#....
#[[2]]
# mpg cyl disp hp drat wt qsec vs am gear carb cyl2
#1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 12
#2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 12
#3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 8
#4 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 12
#5 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 16
#...
或将其保存在基础 R 中:
lapply(dflist, function(x) transform(x, cyl2 = cyl * 2))
推荐阅读
- python - Tkinter 对齐多个帧
- symfony - 教义不在连接表中
- javascript - mirth javascript 翻译返回错误
- r - 如何根据 R 中两列中的值组合过滤我的数据集
- apache-spark - 如何在 PySpark Pipeline 中使用 XGboost
- c - C 中的有序列表仅返回一个节点(头部被覆盖)
- elasticsearch - 在 Elasticsearch 中使用通配符进行不区分大小写的搜索
- android - 应用程序启动时出现错误“调用 AppRegistery.runApplication 时出错”
- python - 'numpy.float64' 对象不能解释为整数,但我无法确定它在哪里要求整数
- javascript - 用 html 内容中的 iframe 替换 youtube 链接?