我在dplyr的mutate_each_的SE实现中绞尽脑汁.我想要做的是从DF中的每一列中减去DF中一列中的值.
这是我想要完成的最小工作示例,使用虹膜数据集(我删除'Species'列,使其全部为数字).我从每列中减去Petal.Width列.但是我需要列名是变量,例如"My.Petal.Width"
# Remove Species column, so that we have only numeric data
iris_numeric <- iris %>% select(-Species)
# This is the desired result, using NSE
result_NSE <- iris_numeric %>% mutate_each(funs(. - `Petal.Width`))
# This is my attempt at using SE
SubtractCol <- "Petal.Width"
result_SE <- iris_numeric %>% mutate_each_(funs(. - as.name(SubtractCol)))
# Second attempt
SubtractCol <- "Petal.Width"
Columns <- colnames(iris_numeric)
mutate_call = lazyeval::interp(~.-a, a = as.name(SubtractCol))
result_SE <- iris_numeric %>% mutate_each_(.dots = setNames(list(mutate_call), Columns))
Run Code Online (Sandbox Code Playgroud)
我收到各种错误:
Error in colwise_(tbl, funs_(funs), vars) …Run Code Online (Sandbox Code Playgroud) 请帮忙-使用R,我如何在所有驱动器(硬盘驱动器以及连接的USB驱动器)上搜索特定的文件/文件夹?
例如,我正在寻找一个名为“ MyFiles”的目录,该目录可能位于C:或USB(E :)上的任何位置。我想知道目录的所有树位置。
感谢您的任何建议!
我有很多用dplyr 0.4.3编写的代码,它依赖于分组的arrange()函数.截至0.5版本,安排不再适用分组.
这个决定让我感到困惑,因为这使得arrange()与其他dplyr动词不一致,如果需要ungrouped,用户可以在arrange()之前取消组合().我希望也许在arrange()中有一个参数来保留groups_by行为,但是唉!
因此,我必须重写我的分组安排.此时,我唯一的选择似乎是在排列调用中拆分管道,循环遍历组并按组排列,然后再次绑定()结果.我希望有更优雅的解决方案吗?
下面是一个MRE,我想在wt per group_by(cyl)上运行一个cumsum.非常感谢您的想法/建议.
library(dplyr)
mtcars %>%
group_by(cyl) %>%
arrange(desc(mpg)) %>%
mutate(WtCum = cumsum(wt))
Run Code Online (Sandbox Code Playgroud)