问题标签 [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.
r - 用 dplyr 总结多列?
我在 dplyr-syntax 上有点挣扎。我有一个包含不同变量和一个分组变量的数据框。现在我想使用 R 中的 dplyr 计算每组中每一列的平均值。
这给了我“grp”表示的每个组的“a”列的平均值。
我的问题是:是否有可能一次获得每个组中每列的平均值?还是我必须df %>% group_by(grp) %>% summarise(mean(a))
为每一列重复?
我想要的是类似的东西
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 ...
r - 如何使用 dplyr 查找 R 数据框中两行中的值之间的差异
我有一个 R 数据框,例如:
忽略“其他”列,如何找到每个农场在每个时期的 cumVol 变化?我想要一个这样的数据框(可选择保留 cumVol 列):
在实践中,可能有许多类似“农场”的列,以及许多类似“其他”(即忽略)的列。我希望能够使用变量指定所有列名。
我正在使用 dplyr 包。
r - 如何通过 R 中的两个因素总结数值变量
我有一个带有 3 个变量和 1.425.558 个观察值的 data.frame。它是可再生能源工厂安装电力的登记册。每行代表一个已安装的发电厂。在一个邮政编码区域内可以有多个相同类型的发电厂。
我想通过邮政编码总结安装了多少太阳能/沼气/风力发电。
我已经试过了
但我的内存不够用。
我知道,我的数据框非常大。我可以缩小很多,因为我只需要那些以“2”开头的邮政编码的数据。
你能给我指出一个解决方案吗?非常感谢您对初学者的帮助!
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:
I am just wondering how this is possible? Or is there a conceptual mistake in the way I benchmark? Is my understanding of <-
wrong?
sql - dplyr 中是否提供 cut() 样式分箱?
有没有办法做一些类似函数来对表格cut()
中的数值进行分箱?dplyr
我正在处理一个大型 postgres 表,目前可以在一开始就在 sql 中编写 case 语句,或者输出未聚合的数据并应用cut()
。collect()
两者都有非常明显的缺点...... case 语句不是特别优雅,并且通过完全没有效率来提取大量记录。
r - 在 dplyr 链中替换 NA
问题已从原文编辑。
在阅读了这个有趣的讨论之后,我想知道如何使用 dplyr 替换列中的 NA,例如,Lahman 击球数据:
以下不符合我的预期
来源:本地数据框 [20 x 3] 组:yearID、teamID
事实上,它估算的是整体平均值,而不是组平均值。您将如何在 dplyr 链中执行此操作?transform
从基础 R使用也不起作用,因为它估算的是整体平均值而不是组平均值。这种方法也将数据转换为常规数据。一个框架。有一个更好的方法吗?
编辑:替换transform
为mutate
给出以下错误
编辑:添加 as.integer 似乎可以解决错误并产生预期的结果。另请参阅@eddi 的回答。
编辑:跟进@Romain 的评论,我从 github 安装了 dplyr:
所以我没有得到错误(好),但我得到了一个(看似)奇怪的结果。
r - 我怎样才能在 dplyr 中进行变异而不丢失顺序?
使用data.table
我可以执行以下操作:
尝试相同的操作,dplyr
但是数据被打乱/排序a
:
(顺便说一句,上面也对原始内容进行了排序dt
,考虑到不就地修改的理念,这对我来说有点令人困惑dplyr
——我猜这是一个与如何dplyr
接口的错误data.table
)
dplyr
实现上述的方法是什么?
r - 我可以在单个 dplyr 语句中切换分组变量吗?
这是一个简单的例子来说明这个问题:
尝试在 I 中做同样的事情dplyr
失败了,因为第一个group_by
是持久的,并且分组是由两个b
and组成的c
:
这是错误还是功能?如果它是一项功能,那么如何data.table
在单个语句中复制解决方案?
r - 导致长度不等于 1 或 dplyr 中组长度的分组操作
我不确定使用哪个函数来执行以下操作:
两者summarise
都mutate
对这个长度不满意: