- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 R,但不理解以下函数的一部分。在下面的函数中 count=length(address)
到底在做什么?有没有其他方法可以做到这一点?
crime_dat = ddply(crime, .(lat, lon), summarise, count = length(address))
最佳答案
plyr
库有两个非常常见的“帮助”函数,summarize
和 mutate
。
当您想要丢弃不相关的数据/列时使用汇总,仅保留分组变量的级别以及这些组的特定和汇总函数(在您的示例中,length
)。
Mutate 用于添加一列(类似于基础 R 中的 transform
),但不会丢弃任何内容。如果您运行这两个命令,它们应该可以很好地说明差异。
library(plyr)
ddply(mtcars, .(cyl), summarise, count = length(mpg))
ddply(mtcars, .(cyl), mutate, count = length(mpg))
在此示例中,与您的示例一样,目标是确定每个组中有多少行。当像这样使用 ddply
和 summarise
时,我们需要选择一个将单列(向量)作为参数的函数,所以 length
是一个不错的选择。由于我们只是计算行数/获取向量的长度,所以我们传递给它的 列 并不重要。或者,我们可以使用 nrow
,但为此我们必须传递整个 data.frame,因此 summarise
不起作用。在这种情况下,它可以节省我们的输入:
ddply(mtcars, .(cyl), nrow)
但如果我们想做更多,总结真的很出色
ddply(mtcars, .(cyl), summarise, count = length(mpg),
mean_mpg = mean(mpg), mean_disp = mean(disp))
Is there another way to do this?
是的,还有很多其他方式。
我赞同 Alex 的建议,即使用 dplyr
来处理此类事情。 summarize
和 mutate
概念仍在使用,但它的工作速度更快,代码可读性更高。
其他选项包括 data.table
包(也是一个不错的选择),tapply()
或 aggregate()
在 base R 中,以及无数其他可能性。
关于r - 了解 plyr 的 ddply 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755722/
是否有一种 Eloquent 方法来使用 ddply() 不仅获得定义的最细粒度组的输出,还获得那些子组的输出? 换句话说,当其中一个分类器是“任何”或“任一”或“无关紧要”时。在两个分组变量的简单情
我正在尝试使用 plyr 计算滚动平均值。数据是行业国家年的数据,对每个行业国家都有重复观察。数据不平衡,但大多数工业国家有大约 15 个观测值。 例如数据如下所示: country IS
我想使用 ddply 函数将相同的函数写入多个列,但我尝试将它们写在一行中,想看看有没有更好的方法来做到这一点? 这是数据的简单版本: data<-data.frame(TYPE=as.integer
我将如何使用 plyr 复制此内容? with(mtcars, tapply(mpg, cyl, summary)) 以同样的优雅,即不详细说明个人统计数据? 最佳答案 library(plyr) d
我有以下数据集(CEU): group x y 1 -23 100 1 -0.90 69.62 1 -0.90 72.03 2 -23
我正在尝试学习如何在 R/plyr 中编写函数。我知道有更简单的方法可以完成我在下面展示的内容,但这不是重点。 在下面的示例中,PLYR 不会向我的新数据框返回新变量 library(plyr) hi
我有一个这样的数据框: mat.in=data.frame(site=c('A','A','A','B','B','B'), var=c('product.A','product.B'
作为学习 plyr 的练习,我尝试对 Rob Hyndman 最近发布的一篇文章做一个 plyr 版本: library(forecast); library(plyr) # Hyndman, R.
我想在一个图上绘制多个时间序列。目前我可以单独绘制它们但不能一起绘制。我怎样才能加入数据,因为年份是按小数分割的。 我基本上想要结束的是这个 Plotting multiple time-series
有没有办法将变量的值分配给 plyr 中的结果列名? 所以在这段代码中... column_name column_names df > # temporal variable > for (c
我是 plyr(和 R)的新手,正在寻找一些帮助来开始。以棒球数据集为例,我如何计算联赛和球队(lg 和球队)“击球数”的同比(yoy)变化? library(plyr) df1 <- aggrega
我使用了plyr 包提供的strip_splits(df) 函数来获取数据框列表。我现在想将数据框列表连接在一起,并添加回用于拆分它们的变量。下面突出显示的文档使我相信这应该是可能的,但是我找不到合适
我正在尝试将一个函数 (weight.func) 传递给另一个调用 ddply 的函数(包装器)。我希望 ddply 使用该函数 (weight.func) 作为其计算的一部分。当 weight.fu
我有一个非常大的数据框,我需要在两列上连接到另一个数据框。我一直在使用 merge 来完成 ir,但 R 内存不足,表越大。是否有使用 dplyr 或 plyr 的类似解决方案?我听说他们需要更少的内
我想为某些数据组合生成相同类型的图表。目前,我正在使用 plyr 来拆分数据并为每个组合执行一些代码。 例如,假设 dataframe 包含公司、部门、地区和收入。这是我的伪代码: d_pl
我喜欢 plyr 将数据帧拆分为多个数据集,然后对每个数据集执行相同操作的能力。最好的部分是当它以整洁紧凑且标记良好的表格的形式向您显示结果时。我喜欢使用 each() 将一堆计算放入一行中。但是,我
基本上我想要一个基于我的群组的自动增量 id 列 - 在这种情况下。(高棉语,剪切) > myDataFrame size kmer cvCut cumsum 1
我无法理解 plyr 包的用法。我尝试使用它来拆分存储在列表中的数据帧,应用函数,将结果存储为数据帧并将数据帧再次组合为列表。 因此,鉴于以下数据: #create test dfs
我以为我有一个非常简单的数据帧转换,但出于某种原因我无法理解它似乎需要永恒,这让我怀疑它可能没有按照我的希望进行。任何人都可以解释一下吗? 第 1 部分 - 将源数据转换为单独的列(实际 df 有 2
我遇到了一个非常不同的问题,在 fullscreen我的模式plyrjs没有向 fullscreen 播放视频 我试图重现 问题 中的代码相同密码笔 但它适用于 密码笔 为什么?。 问题:为什么相同的
我是一名优秀的程序员,十分优秀!