问题标签 [nse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何使用 dplyr 改变内部的数据框
在内部,do
我mutate_
参考原始数据框调用 a 。问题是我无法访问mutate
. 这与lazyeval
包裹有关,但我无法弄清楚。谢谢您的帮助。
例如,假设此函数返回点的 data_frame。
然后我做了另一个函数来序列化这个(我想用 来标识它id
):
使用此输入:
我应该得到以下信息:
但是,我收到一个错误,因为它找不到该列var_
。
澄清:我找到了其他方法来解决它,但我想利用do
with的力量lazyeval
。
r - 在 dplyr 中将列名作为变量传递
这个问题的变体被问了很多,我也读过关于 NSE 的文章。我仍然无法弄清楚这一点。
这很简单:
现在我想使用变量 x 来传递 dist 列来表示
x <- "dist"
当然这不起作用:
所以我使用 SE 版本的摘要:
好的,不起作用,所以我还必须添加~
:
仍然不起作用,但如果使用dist
代替x
:
这有效,但不使用 x。
这也行不通。
我基本上是在胡闹,不知道如何使它工作,或者它为什么会失败。
r - dplyr-0.6.0 编程取消引用
我正在尝试为summarise()
任意组的任意变量编写一个简单的包装器,并且已经取得了进展,现在我已经加载了正确的库版本,但是(再次)对如何取消引用具有多个值的参数感到困惑。
我目前有以下功能...
如果我指定一个分组变量,它会得到大部分的方式并且可以工作......
group_by(!!quo_group, variable)
...但是当我指定多个时失败group = c(gear, hp)
...
我回去重新阅读了编程 dplyr 文档,我读到您可以使用而不是捕获多个变量,然后使用取消引用拼接它们,所以尝试了......quos()
enquo()
!!!
...现在第一次引用!!!quo_group``within
dplyr::select() regardless of how many variables are specified under
group = `...
看起来很奇怪,我认为问题的根源是!!!quo_group
(ie UQS(quo_group)
) 打印出来~gear
而不是 quosures 列表,因为将 a 添加print()
到工作示例中显示发生......
我想明确地提供我希望分组的变量作为我的参数的参数,但是如果我将它们指定为,它是否有效,...
但我决定在提供分组变量时测试我的函数是否有效...
...但它没有,quos()
再次取消引用拼接,NULL
因此变量既不会被选择也不会被...分组
我已经经历了几次这个周期,现在检查了每种使用方法enquo()
,quos()
但看不到我哪里出错了,尽管已经多次阅读了编程 dplyr 文档。
r - dplyr mutate 使用标准评估
我想在 dplyr mutate 短语中引用一个对象,该对象在我的数据框中包含变量名称。在我的情况下如何使用标准评估:
这是一些虚拟数据:
这是我希望能够更改的变量:
如果直接输入因变量,它对我有用:
但是,如何使用标准评估,以便可以引用对象dependent_variable?我尝试了以下方法:
但是两种解决方案都没有提供与第一种方法相同的结果:完全相同(data_lead1.df$variable_lead,data_lead2.df$variable_lead) false 相同(data_lead1.df$variable_lead,data_lead3.df$variable_lead) false
有人可以帮忙吗?
谢谢!!
r - Dplyr function to compute average, n, sd and standard error
I find myself writing this bit of code all the time to produce standard errors for group means ( to then use for plotting confidence intervals).
It would be nice to write my own function to do this in one line of code, though. I have read the nse vignette in dplyr on non-standard evaluation and this blog post as well. I get it somewhat, but I'm too much of a noob to figure this out on my own. Can anyone help out? Thanks.
r - dplyr concat 列存储在变量中(变异和非标准评估)
我想基于变量连接数据框中的任意数量的列cols_to_concat
为了用这个特定的值达到预期的结果,cols_to_concat
我可以这样做:
但我需要概括这一点,使用有点像这样的语法
如果合适,我想使用 dplyr 0.7.0 的新NSE 方法,但无法找出正确的语法。
r - 如何使用 quosures 将命名向量传递给 dplyr::select?
使用旧select_()
函数,我可以将命名向量传递给 select 并立即更改位置和列名:
我尝试使用 quosures 和拼接做类似的事情——选择列效果很好,但向量的名称(因此同时重命名列)似乎被忽略了。以下两个都返回数据帧,其列名为bar
and foo
,但不是newbar
and newfoo
:
有没有办法使用新的 NSE 方法使用命名向量来重命名和重新排序列?
r - 在函数中使用 dplyr group_by
我正在尝试在本地函数中使用 dplyr 的 group_by,例如:
我得到一个错误“......未知变量分组:x”我试过group_by_它给了我整个数据集的摘要。有人知道我该如何解决这个问题吗?
提前致谢!
r - 使用 as.formula、SE dplyr 和 lapply 时,foreach 包范围 R 环境如何?
我有一个函数,我可以动态地将多个公式构建为字符串并将它们转换为带有as.formula
. doSNOW
然后,我在并行过程中使用and调用该函数,foreach
并通过dplyr::mutate_
.
当我使用并行运行时lapply(formula_list, as.formula)
出现错误could not find function *custom_function*
,尽管在本地运行时它工作正常。但是,当我使用lapply(formula_list, function(x) as.formula(x)
它时,它可以并行和本地工作。
为什么?理解这里的环境的正确方法是什么以及编码它的“正确”方法是什么?
我确实收到一条警告,上面写着:In e$fun(obj, substitute(ex), parent.frame(), e$data) : already exporting variable(s): *custom_func*
下面是一个最小的可重现示例。
编辑:在我原来的帖子标题中,我写道我正在使用 nse,但我的真正意思是使用标准评估。哎呀。我已经相应地改变了这一点。
r - 操作/更新拟合模型时如何访问源数据
我正在尝试编写一些函数来简化多个模型的调整,但发现它很痛苦,因为 R 无法找到正确的data
,当它深入评估树时。尽管努力将公式环境存储在模型中,但我想确实没有办法明确地指向原始数据对象。这对于使用 拟合生存曲线变得更加困难survfit
,因为其中没有terms
存储任何对象。
我真的需要每次都重新输入数据/公式作为参数吗?
例子: