问题标签 [iqr]
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 对 R 中的所有列应用 iqr 过滤器
过滤其 IQR 之间的所有列的数据。尝试使用 filter_all(df_name,IQR(.)),返回相同的数据帧
python-3.x - 如何使用 IQR 从 DataFrame 中删除异常值?
我有很多列的数据框(大约 100 个功能),我想应用四分位数方法并想从数据框中删除异常值。
我正在使用这个链接 stackOverflow
但问题是上述方法的 nan 工作正常,
正如我正在尝试这样
它给了我这个
我只是想知道,接下来我会做什么,以便删除数据框中的所有异常值。
如果我使用这个
我收到此错误
在这一行
python - 从 pandas groupby 获取四分位距和中位数,所有未提及日期的零填充
我有一个类似的数据框(除了我的非常大):
...然后假设我得到以下 groupby 和聚合(by和user1
):user2
day
一天应该从 0 到 364(365 天)。我想要的是每个用户所有天数的四分位间距(和中位数)——除了不计算零。
如果我在所有排除的日子里都有明确的零,生活会更轻松:
...因为那时我可以这样做df.reset_index().agg({'quantity':scipy.stats.iqr})
,但我正在使用一个非常大的数据框(上面的示例是一个虚拟数据框),并且用零重新索引是不可能的。
我有一个想法:因为我知道有 365 天,所以我应该用零填充其余数字:
并得到它的scipy.stats.iqr
(和中位数)。但是,这将涉及迭代所有user1-user2
对。根据经验,这需要很多时间。
对此有任何矢量化解决方案吗?我也必须得到中位数,我认为同样的方法应该成立。
r - 如何在R中使用基于键的IQR异常值函数
我想使用这个 IQR 功能:
在下面df
,在total
每个特定键的列上,基于key
列:
oracle - 不同时间段的 Oracle 样本计数
这可能是一个非常基本的问题,所以提前道歉。我需要过去 3 个月、6 个月、1 年、2 年等的样本数量,这取决于我是否有足够的样本,(我试图通过追溯历史来收集足够数量的样本,所以当我收集够了,我会停下来)我会和他们一起做一些计算。首先,我选择过去 2 年可用的任何数据。然后我查看过去一年和过去 2 年有多少样本。假设我去年有 30 个样本就足够了,我会拿走它们。如果不是,我会延长到 2 年并尝试收集所有这些样本的值。
如何参考我在 TOTAL_N_IN_1_YEAR、TOTAL_N_IN_1_YEARS 中计算的这些值,并使用它们仅选择我需要的时期内的样本值?
我想实现这样的目标
现在我只需要最后 32 个样本的 s.value ......
比如说,如果 TOTAL_N_IN_1_YEAR > 30 那么我只想要过去 1 年的值,我将计算它们的平均值、中值、IQR 等。
如果 TOTAL_N_IN_1_YEAR > 30,则此方法现在有效,但例如对于 <30 无效。
非常感谢您的帮助:)
java - 随着深度的增加生成四分位数位置
我想以编程方式生成四分位数 (IQR) 位置,以便我可以将它们用作获取最小 - 最大范围内的值的基础,并增加粒度顺序。
我被困了一段时间。令人惊讶的是,当我在寻找想法时,我在 Stack Overflow 上一无所获。因此,我将发布我提出的解决方案,以便将来在他们需要时帮助他们。
python - 将 Pandas 函数同时应用于行和列以进行置信区间计算
我是 python 编程的新手。我正在尝试确定我的数据集中的异常值。我已将数据集转换为 pandas 数据框,然后应用 IQR 原理。之后,我想用零替换我的异常值,然后计算平均值和标准差作为异常值,因为偏离平均值和 SD。
数据集代码如下:
数据集片段:
如果 Store1,Store2,Store3 的值小于 Lower_limit(['Store1'] < ['Lower_limit']) 或大于 Upper_limit(['Store1'] > ['Upper_limit' ])。
以下是我的功能:
我这样应用它:
下面是错误的结果...
有没有办法可以修改我的原始代码来实现这一点?
r - 如何按 ID 对行进行分组并计算平均值和 IQR
我有一个长格式数据框 ,my data
其中有 101 名参与者,每个参与者在 51 次试验 ( Event
) 中获得分数,如下所示:
dput(head(mydata, 200))
我想计算51 次试验中Score
每个试验的平均值和四分位距,此处标记为。然后我想删除参与者的观察结果,如果超过四分位数范围之外的±3。Participant
Event
Score
这样做最有效的方法是什么?
我已经研究了该cast
函数,reshape2
希望首先将数据帧转换为宽格式,但我没有成功。
我也研究过对行进行分组,Participant
但还没有找到足够清晰的教程来指导我完成这个。
python - 如何在列中找到稳健的 sigma 值,然后找到上限和下限?
所以,我有看起来像这样的数据:
每个单元(UnitID)都有一个分数,属于一个批次(Batch ID)。本来这个表是没有“Median”列的,但是我df['Median'] = df.groupby('BatchID')['Score'].transform('median')
以前自己创建的。
现在我想要一个名为“R-Sigma”的新列,在其中我将这个 Robust Sigma 公式应用于每个值:
我不知道如何使用 IQR 函数,这是我的第一个问题,以及如何将此计算应用于每个值。
最后,我想要另外两列,一列称为“上限”,一列称为“下限”,分别计算中位数 +/- 6 * Robust Sigma。
我怎么能这样做?我完全迷路了。
r - 箱线图:随着时间的推移恒定的 iqr
我的样本是一个面板数据集,由几个变量和几个时间段组成。我用 iqr 方法检测和处理异常值。也就是说,异常值是高于/低于第三个/第一个四分位数加/减 1.5 倍 iqr 的观察值。众所周知,这可以在箱线图中可视化。
出于概念原因,在检测和处理异常值时会考虑整个样本:变量的四分位数和 iqr 基于总时间序列。当使用简单的箱线图函数可视化异常值时,会绘制每个时期的四分位数和 iqr(见附图)。但是,我想创建一个正确说明我的异常值检测和处理方法的图。即,中值、盒子和须线应随时间保持不变。我不想将数据汇总到一个图中,因为不再可观察到异常值所属的年份。
我想我必须用 ggplot2 创建箱线图?