问题标签 [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 投票
3 回答
910 浏览

r - 编写一个 R 函数 GroupSummary(x),它将显示来自向量 x 的两个独立组的五数摘要

我跑了这个:

结果我得到了这个:

我试图将它分成两组,一组用于正数,另一组用于负数,而不是将两者结合起来。我写的编码哪里出错了?欢迎任何提示或帮助谢谢

0 投票
2 回答
324 浏览

r - 替代 for 循环,用于用 R 中的向量中的元素替换矩阵中的元素子集

我正在使用 for 循环来替换myarray使用mycons向量的元素子集。每列中的子集将从mydates直到结束。有没有替代for循环的方法?

0 投票
2 回答
1216 浏览

r - tapply - 创建 NA?

我正在尝试计算每人独特水果的平均数量(我通常的实践数据)。这对这两行代码都非常有效:

我的问题是,当我在真实数据上使用代码时,它不起作用。我的真实数据是处方数据,我想要平均每人独特药物的数量。使用 tapply 代码,它似乎创建了原始 df 中不存在的全新患者 ID。它还返回了 1000 个 NA 值。我的 id 列中没有缺失值,drug_code 列中也没有缺失值

对于聚合代码,我收到一个错误:

我不明白发生了什么。我的真实数据与我的实践数据相似,因为它有一个 id col 并有一个 drug/fruit 列。两个df中都没有丢失数据。我知道 lapply 更适合数据帧,但我不一定需要 df 返回。在任何情况下,tapply 代码都适用于 df 的练习数据。有谁知道这里发生了什么?

练习 DF:

真实数据示例:

0 投票
3 回答
29702 浏览

r - 使用 tapply 按组对多列求和

我想按组汇总各个列,我的第一个想法是使用tapply. 但是,我无法tapply上班。可以tapply用来对多列求和吗?如果不是,为什么不呢?

我在互联网上进行了广泛搜索,发现早在 2008 年就发布了许多类似的问题。但是,这些问题都没有得到直接回答。相反,响应总是建议使用不同的功能。

下面是一个示例数据集,我希望按州对苹果、各州樱桃和各州李子求和。在此之下,我编制了许多可行的替代方案tapply

在底部,我展示了对tapply允许 tapply执行所需操作的源代码的简单修改。

不过,也许我忽略了一种简单的方法来执行所需的操作tapply。我不是在寻找替代功能,尽管欢迎其他替代品。

鉴于我对tapply源代码的修改很简单,我想知道为什么它或类似的东西还没有实现。

谢谢你的任何建议。如果我的问题是重复的,我很乐意发布我的问题作为对其他问题的回答。

这是示例数据集:

这不起作用:

帮助页面说:

我被这句话弄糊涂了,typically a vector这让我想知道是否可以使用数据框。我一直不清楚是什么atomic object意思。

这里有几种可行的替代方案tapply。第一种替代方法是tapplyapply.

这是源代码,tapply除了我更改了行:

至:

此修改后的版本tapply执行所需的操作:

0 投票
1 回答
4249 浏览

r - 在应用系列中使用“复杂”功能

我试图aov()在一行中使用该函数tapply(),但不确定它是否不可能,或者我只是编码不正确。

我想看看每年的因子水平之间是否存在差异。请注意,我的真实数据有几个因子水平,这就是我使用 ANOVA 而不是 t 检验的原因。

我可以获得tapply()要做的“简单”功能,例如sum

从简单的例子来看,我认为tapply()工作方式基本上是通过第二个条目对数据进行子集化Factors,然后取第一个条目,width并将其放入任何声明的函数中。通过这个推理,我尝试了:

这将返回一个错误arguments must have the same length

如果可以使用tapply需要复杂输入的功能,我该怎么做?我预计如何存储此类输出会出现问题。例如,如果我保存了 2 个 anova,我想将它们保存为单个“变量名”。

我希望能够做的事情类似于(*以下代码不起作用,只是为了展示我所得到的):

显然该c()功能不起作用。我知道为了能够使用$语法,我应该使用数据框,但以下内容不起作用:

如果有一种更简单的方法可以得到我正在寻找的结果,任何关于如何做的提示都非常感谢。同样,我希望进行 5 次方差分析 - 比较 5 年中每一年的因子水平 1 和 2 之间的差异。实际上,我的数据有 8 年和 5 个因子水平。我还将对几个变量(如宽度和高度)进行这些方差分析。

0 投票
1 回答
1056 浏览

r - 如何通过R中的多个因素对矩阵列应用函数?

这是一个简单的问题,我相信它可以通过 tapply、apply 或 by 等轻松解决。但是,我对此还比较陌生,我想请教一下。

问题:

我有一个包含 5 列的数据框。例如,第 4 列和第 5 列是因子。对于第 5 列中的每个因素,我想在第 5 列中的每个组的 1:3 列上执行一个函数。原则上,这很容易实现。但是,我希望将输出作为一个漂亮的表格,并且我想学习如何以一种优雅的方式做到这一点,这就是我想在这里问你的原因。

例子:

现在,命令

会给我基于每个因素水平的总和y,这几乎是我想要的。需要两个额外的步骤:一个是对 中的每个因子水平执行此操作f。这几乎是微不足道的。我可以轻松地环绕lapply上面的命令,我会得到我想要的,除了这个:我想生成一个带有结果的表格,甚至可以用它来生成一个热图。

因此:是否有一种简单且更优雅的方法来执行此操作并生成具有相应输出的矩阵?这似乎是数据科学家的日常任务,这就是为什么我怀疑有一个现有的内置解决方案......

感谢您的任何帮助或任何提示,无论多么小!

0 投票
1 回答
524 浏览

r - 将参数传递给tapply中的列表

我是 R 的新手,几天来无法将参数传递给函数。

我有一个使用tapply的函数,其中有一个by语句,我的数据集是列表数据框的形式,所以函数是:

by 应该是变量列表(未引用),但问题是调用函数,变量无法识别:

这不起作用,问题是数据是一个列表,它不是一个数据框,有没有办法超越它或者我应该重塑我的数据?一种方法是在函数调用中执行 for 循环,但我宁愿避免它,因为这不会为我节省太多使用该函数的写作。

谢谢你。

0 投票
3 回答
390 浏览

r - 数据框 [R] 子集中的计算

面临子集计算的困难。我可以使用 , 获得总体统计数据,例如客户(因素)的平均购买量,ave但我无法计算每个客户的访问统计数据。下面的一些简化数据来说明我的数据和理想的结果。tapplyddply

当前数据框:(请注意,访问 #1 是最近的访问)

这些是我正在寻找的结果:

所以总而言之,我想找到客户最近的访问及其属性,然后找到下一次访问属性并计算两者的各种统计信息。当没有更多以前的访问时返回“NA”。

0 投票
1 回答
43 浏览

r - 通过() [或等效地,tapply()] 识别“中断”的 INDICES 值

使用该函数by时,有时我会有一个INDICES“中断”的数据子集(由参数确定)by(从技术上讲,它会中断FUN,而后者又会中断by)。

有没有办法识别传递给的列表的“坏”值INDICES?(没有在列表上写一个显式循环)

0 投票
1 回答
3422 浏览

r - 从 R 中的 tapply 输出中绘制数据

我是一个真正的初学者,并试图为我的硕士论文分析一些金属管材料损失的数据。我想比较不同管子一段时间内材料损失的标准偏差。我创建了一些子矩阵并tapply计算了标准偏差。

我有以下脚本:

其中输出是一个表,列标题为Tube.number和行标题Measurement.location

需要说明的是:1、2、3、4、5、6 是管号和列的标题,1、10、11...是测量位置和行的标题。

我想绘制不同的数据图,其中之一是:箱线图,x 轴是管数,y 轴是导出标准偏差的分布。

我到处搜索并尝试了很多不同的东西,但我无法显示图表。

希望有人可以帮助我,将不胜感激!