问题标签 [dplyr]

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 投票
5 回答
248436 浏览

r - 用 dplyr 总结多列?

我在 dplyr-syntax 上有点挣扎。我有一个包含不同变量和一个分组变量的数据框。现在我想使用 R 中的 dplyr 计算每组中每一列的平均值。

这给了我“grp”表示的每个组的“a”列的平均值。

我的问题是:是否有可能一次获得每个组中每列的平均值?还是我必须df %>% group_by(grp) %>% summarise(mean(a))为每一列重复?

我想要的是类似的东西

0 投票
5 回答
100758 浏览

r - 使用 group_by(多个变量)时的 dplyr 问题

我想开始使用 dplyr 代替 ddply 但我无法了解它的工作原理(我已阅读文档)。

例如,为什么当我尝试 mutate() 时,“group_by”函数不能按预期工作?

看mtcars:

图书馆(汽车)

假设我制作了一个 data.frame,它是 mtcars 的摘要,按“cyl”和“gear”分组:

然后说我想进一步总结这个数据框。使用 ddply,它会很简单,但是当我尝试使用 dplyr 时,它实际上并不是“分组依据”:

仍然产生一个未分组的输出:

我在语法上做错了吗?


编辑:

如果我要使用 plyr 和 ddply 执行此操作:

然后得到第二个df:

但是同样的方法,在 summarise() 函数中使用 sum(newvar) + 5 不适用于 dplyr ...

0 投票
4 回答
55606 浏览

r - 如何使用 dplyr 查找 R 数据框中两行中的值之间的差异

我有一个 R 数据框,例如:

忽略“其他”列,如何找到每个农场在每个时期的 cumVol 变化?我想要一个这样的数据框(可选择保留 cumVol 列):

在实践中,可能有许多类似“农场”的列,以及许多类似“其他”(即忽略)的列。我希望能够使用变量指定所有列名。

我正在使用 dplyr 包。

0 投票
2 回答
1033 浏览

r - 如何通过 R 中的两个因素总结数值变量

我有一个带有 3 个变量和 1.425.558 个观察值的 data.frame。它是可再生能源工厂安装电力的登记册。每行代表一个已安装的发电厂。在一个邮政编码区域内可以有多个相同类型的发电厂。

我想通过邮政编码总结安装了多少太阳能/沼气/风力发电。

我已经试过了

但我的内存不够用。

我知道,我的数据框非常大。我可以缩小很多,因为我只需要那些以“2”开头的邮政编码的数据。

你能给我指出一个解决方案吗?非常感谢您对初学者的帮助!

0 投票
2 回答
2095 浏览

r - Does mutate change tbl by reference?

What I really like about data.table is the := idiom for changing the table by reference, without the need for costly copies. From what I understand, this is one of the aspects which makes data.table so ultrafast compared to other methods.

Now, I started playing around with the dplyr package which seems to be equally performant. But since results still have to be assigned using the <- operator, I was expecting a performance drain at this level. However, there seems to be none.

As an example:

enter image description here

I am just wondering how this is possible? Or is there a conceptual mistake in the way I benchmark? Is my understanding of <- wrong?

0 投票
3 回答
25077 浏览

sql - dplyr 中是否提供 cut() 样式分箱?

有没有办法做一些类似函数来对表格cut()中的数值进行分箱?dplyr我正在处理一个大型 postgres 表,目前可以在一开始就在 sql 中编写 case 语句,或者输出未聚合的数据并应用cut()collect()两者都有非常明显的缺点...... case 语句不是特别优雅,并且通过完全没有效率来提取大量记录。

0 投票
1 回答
42693 浏览

r - 在 dplyr 链中替换 NA

问题已从原文编辑

在阅读了这个有趣的讨论之后,我想知道如何使用 dplyr 替换列中的 NA,例如,Lahman 击球数据:

以下不符合我的预期

来源:本地数据框 [20 x 3] 组:yearID、teamID

事实上,它估算的是整体平均值,而不是组平均值。您将如何在 dplyr 链中执行此操作?transform从基础 R使用也不起作用,因为它估算的是整体平均值而不是组平均值。这种方法也将数据转换为常规数据。一个框架。有一个更好的方法吗?

编辑:替换transformmutate给出以下错误

编辑:添加 as.integer 似乎可以解决错误并产生预期的结果。另请参阅@eddi 的回答。

编辑:跟进@Romain 的评论,我从 github 安装了 dplyr:

所以我没有得到错误(好),但我得到了一个(看似)奇怪的结果。

0 投票
1 回答
782 浏览

r - 我怎样才能在 dplyr 中进行变异而不丢失顺序?

使用data.table我可以执行以下操作:

尝试相同的操作,dplyr但是数据被打乱/排序a

(顺便说一句,上面也对原始内容进行了排序dt,考虑到不就地修改的理念,这对我来说有点令人困惑dplyr——我猜这是一个与如何dplyr接口的错误data.table

dplyr实现上述的方法是什么?

0 投票
1 回答
2975 浏览

r - 我可以在单个 dplyr 语句中切换分组变量吗?

这是一个简单的例子来说明这个问题:

尝试在 I 中做同样的事情dplyr失败了,因为第一个group_by是持久的,并且分组是由两个band组成的c

这是错误还是功能?如果它是一项功能,那么如何data.table在单个语句中复制解决方案?

0 投票
2 回答
6769 浏览

r - 导致长度不等于 1 或 dplyr 中组长度的分组操作

我不确定使用哪个函数来执行以下操作:

两者summarisemutate对这个长度不满意: