问题标签 [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.

0 投票
1 回答
134 浏览

r - 如何使用 dplyr 改变内部的数据框

在内部,domutate_参考原始数据框调用 a 。问题是我无法访问mutate. 这与lazyeval包裹有关,但我无法弄清楚。谢谢您的帮助。

例如,假设此函数返回点的 data_frame。

然后我做了另一个函数来序列化这个(我想用 来标识它id):

使用此输入:

我应该得到以下信息:

但是,我收到一个错误,因为它找不到该列var_

澄清:我找到了其他方法来解决它,但我想利用dowith的力量lazyeval

0 投票
1 回答
413 浏览

r - 在 dplyr 中将列名作为变量传递

这个问题的变体被问了很多,我也读过关于 NSE 的文章。我仍然无法弄清楚这一点。

这很简单:

现在我想使用变量 x 来传递 dist 列来表示

x <- "dist"

当然这不起作用:

所以我使用 SE 版本的摘要:

好的,不起作用,所以我还必须添加~

仍然不起作用,但如果使用dist代替x

这有效,但不使用 x。

这也行不通。

我基本上是在胡闹,不知道如何使它工作,或者它为什么会失败。

0 投票
1 回答
1681 浏览

r - dplyr-0.6.0 编程取消引用

我正在尝试为summarise()任意组的任意变量编写一个简单的包装器,并且已经取得了进展,现在我已经加载了正确的库版本,但是(再次)对如何取消引用具有多个值的参数感到困惑。

我目前有以下功能...

如果我指定一个分组变量,它会得到大部分的方式并且可以工作......

group_by(!!quo_group, variable)...但是当我指定多个时失败group = c(gear, hp)...

我回去重新阅读了编程 dplyr 文档,我读到您可以使用而不是捕获多个变量,然后使用取消引用拼接它们,所以尝试了......quos()enquo()!!!

...现在第一次引用!!!quo_group``withindplyr::select() regardless of how many variables are specified undergroup = `...

看起来很奇怪,我认为问题的根源是!!!quo_group(ie UQS(quo_group)) 打印出来~gear而不是 quosures 列表,因为将 a 添加print()到工作示例中显示发生......

我想明确地提供我希望分组的变量作为我的参数的参数,但是如果我将它们指定为,它是否有效,...但我决定在提供分组变量时测试我的函数是否有效...

...但它没有,quos()再次取消引用拼接,NULL因此变量既不会被选择也不会被...分组

我已经经历了几次这个周期,现在检查了每种使用方法enquo()quos()但看不到我哪里出错了,尽管已经多次阅读了编程 dplyr 文档。

0 投票
0 回答
39 浏览

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

有人可以帮忙吗?

谢谢!!

0 投票
1 回答
19734 浏览

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.

0 投票
3 回答
3873 浏览

r - dplyr concat 列存储在变量中(变异和非标准评估)

我想基于变量连接数据框中的任意数量的列cols_to_concat

为了用这个特定的值达到预期的结果,cols_to_concat我可以这样做:

但我需要概括这一点,使用有点像这样的语法

如果合适,我想使用 dplyr 0.7.0 的新NSE 方法,但无法找出正确的语法。

0 投票
1 回答
1800 浏览

r - 如何使用 quosures 将命名向量传递给 dplyr::select?

使用旧select_()函数,我可以将命名向量传递给 select 并立即更改位置和列名:

我尝试使用 quosures 和拼接做类似的事情——选择列效果很好,但向量的名称(因此同时重命名列)似乎被忽略了。以下两个都返回数据帧,其列名为barand foo,但不是newbarand newfoo

有没有办法使用新的 NSE 方法使用命名向量来重命名和重新排序列?

0 投票
2 回答
856 浏览

r - 在函数中使用 dplyr group_by

我正在尝试在本地函数中使用 dplyr 的 group_by,例如:

我得到一个错误“......未知变量分组:x”我试过group_by_它给了我整个数据集的摘要。有人知道我该如何解决这个问题吗?

提前致谢!

0 投票
1 回答
437 浏览

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,但我的真正意思是使用标准评估。哎呀。我已经相应地改变了这一点。

0 投票
2 回答
45 浏览

r - 操作/更新拟合模型时如何访问源数据

我正在尝试编写一些函数来简化多个模型的调整,但发现它很痛苦,因为 R 无法找到正确的data,当它深入评估树时。尽管努力将公式环境存储在模型中,但我想确实没有办法明确地指向原始数据对象。这对于使用 拟合生存曲线变得更加困难survfit,因为其中没有terms存储任何对象。

我真的需要每次都重新输入数据/公式作为参数吗?

例子: