问题标签 [tapply]

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 回答
55 浏览

r - 分组数据框并使用应用

我目前有一个看起来像这样的数据框...

每行代表该球队当年的一名球员。所以第一行意味着阿拉巴马州的一名球员在 2012-2013 赛季场均得到 2.5 分。数据框比这长得多,有更多的团队,并且持续到 1997-1998 年。我想知道如何找出每所学校每年平均有多少球员在 0-4、4.1-9、9.1-14 和 >14.1 之间。换句话说,对于 2012-2013 年,阿拉巴马州在这 4 个类别中平均有多少球员。但是对于阿拉巴马州和其他相关学校,我每年都需要这些数字。我认为应该使用某种形式的应用函数,但我不确定。

0 投票
1 回答
1069 浏览

r - 我如何在其中一个变量上使用过滤器进行轻敲

我正在使用该tapply函数来获取另一个变量的变量计数。这是代码行:tapply(vip$VAR1,vip$VAR2,length)

但是,我想只过滤值为“1”的观察值vip$VAR1,我可以这样做tapply吗?

0 投票
3 回答
2219 浏览

r - R中多个数字的平均值

说我用这段代码生成一个数据

所以现在我有这样的东西

我将如何获取一个月内给定日期的平均值?

所以在这种情况下,我希望我的输出看起来像这样......

我非常感谢您的帮助谢谢:)

0 投票
2 回答
1284 浏览

r - 将列表从tapply(。)转换为R中的data.frame

我有以下代码

我想让它显示为

如何在 R 中完成?

0 投票
3 回答
14013 浏览

r - tapply 函数抱怨 args 的长度不相等,但它们似乎匹配

以下是失败的调用、错误消息和一些显示有问题的长度:

0 投票
1 回答
2927 浏览

r - R - 根据多个条件查找最小值并根据最小值返回一个或多个创建的字符串

我问这个问题是这个问题的后续,@alexis_laz 以非常简洁的方式回答了这个问题。不幸的是,他的方法(包括创建一个带有零负载的长数据框)数据过于密集,现在原始数据集已经急剧扩展。

基本问题就是这个。考虑一个具有三列 x、y、z 的数据框。我正在寻找与每个 y 的最低 x 值相关联的 z 和 x 的值。理想的输出将是y[i]_x[i]_z[i]具有 i 相关行号的类型的字符串。

这是一个可重现的示例 set.seed(1)

所需的输出(我通过简单地订购 df 和滚动找到):

df <- df[order(y,x,z),]

  1. 对于 y = A, min(x) = 2, with z = 313 => 期望的结果(NAs 可以被丢弃)应该是paste0(y,"_",x,"_",z)这样的 A_1_313
  2. 对于 y = B,min(x) = 2,z = 782、6008 或 7230 => 所需的结果将给我所有三个字符串,因此 B_2_782、B_2_6008 和 B_2_7230
  3. 对于 y = F, min(x) = 3,这个最小值与 5 个不同的 z 值(4114、4712、5336、7234、7520)相关联,所以我想得到五个字符串......

我不希望在真实数据集中的任何地方都有超过 5 个字符串作为输出。如前所述,@alexis_laz 为几乎相同的问题(我也问过)提供了一个解决方案,但该解决方案需要创建一个超过我的计算机能力的数据帧(>2.4GB 数据帧,6.5 亿行),因为我的数据集已经从37 到 15000 家公司 :)

提前致谢!

PS:我一直在寻找使用max.col,which.max结合的解决方案,tapply但到目前为止没有一个对我有用。似乎像tapply(x,y,which.min)简单地返回有序 df 中的 1 列表,因为 which.min 返回向量/矩阵中的位置,该位置在 tapply 函数中始终为 1。因此,使用tapply但返回 df 行数的东西将是工作的 99%。

0 投票
1 回答
75 浏览

r - 添加来自 2 个不同组的相同观察结果。Plyr 还是 tapply?

希望创建一个函数。

我想在给定组中添加观察的出现次数(例如 5、5 次出现 2 次)。一周内相同的天数将按业务相加。总和值将在新行“总出现次数”中。

tapply 或 plyr 可以解决这个问题,但是我遇到了一些细微差别。

谢谢!

0 投票
2 回答
468 浏览

r - 如何使用“with”和“tapply”来计算基于多个因素的新变量

我正在尝试根据另一个变量“Period”获取单个组“Actrl”的电话处理时间“Handle”的平均“ctrlmeans”。然后,我想通过从数据框中每个人的“句柄”中减去该平均值来创建一个新变量“差异”。

这是我所做的:

我的命令:

为什么我会得到 NA?

如果我在 tapply 命令“队列”中包含一个额外的分组变量,我将如何做到这一点?

0 投票
2 回答
617 浏览

r - 根据其他变量组 R 使用 rle()

这实际上是我几周前在这里发布的另一个问题的后续,并得到了答案。

在我最初的问题中,我想找到数据集中径流事件之间的天数。如下面的数据样本所示:

我设法使用以下代码解决了这个问题:

这一切都适用于单个数据集,即一组的一个时间序列。然而,我现在正在苦苦挣扎的是如何根据分组变量(Soil)操作上述代码以对同一 data.table 中的多个时间序列数据集执行相同的操作,例如:

目前,如果我运行代码,它不会区分不同的土壤类型,因此不会在每个时间序列之后“重新启动”排序。

从周围阅读看来,我可能需要将lapply()原始代码替换为by(). 我认为只要rle()首先根据土壤进行分组,这将起作用,但我找不到任何这样做的方法。

因此,请提供任何帮助!

0 投票
1 回答
1883 浏览

r - 了解 dplyr group_by 与 tapply 之间的结果差异

我期待在这两次运行之间看到相同的结果,但它们是不同的。让我质疑我是否真的了解 dplyr 代码的工作原理(我已经阅读了几乎所有关于 dplyr 的包和在线信息)。谁能解释为什么结果不同,或者如何获得相似的结果?

更新:我认为这不是最有效的方法,但以下代码给出了与 tapply 方法匹配的结果。根据 Hadley 的建议,我逐行检查了结果,这是我使用 dplyr 能想到的最好的结果

更新:出于某种原因,我认为我必须对我想要分析的所有变量进行分组,这就是将事情推向错误方向的原因。这就是我所需要的,它更接近包中的示例。