【发布时间】:2016-11-28 16:39:05
【问题描述】:
我有一个不平衡的面板数据。简化示例如下:
Firm Year V1 V2 V3
AAA 2001 0 8 2
AAA 2002 10 4 2
BBB 1999 0 8 8
BBB 2000 7 0 6
BBB 2001 10 100 1
BBB 2002 1 5 8
CCC 2001 2 8 0
CCC 2002 -98 3 10
我想做的是在每个变量的所有变量中修剪每年的异常值。修剪的方法是将 NA 分配给那些值 > 99% 和 99% 或
Firm Year V1 V2 V3
AAA 2001 0 8 2
AAA 2002 10 4 2
BBB 1999 0 8 8
BBB 2000 7 0 6
BBB 2001 10 NA 1
BBB 2002 1 5 8
CCC 2001 2 8 0
CCC 2002 NA 3 10
真实数据海量,数据结构不平衡。
【问题讨论】:
-
您的预期输出没有意义,
values > 99% and < 1% of the data是什么意思?那为什么每一列的max和min不是NA呢? -
对不起,我没有说清楚。让我澄清一下,例如,在 2002 年,我们有 Var_1、(10,1,-98,...) 等数据的子集。将此子集视为正态分布,找到其中的 99% 和 1%正态分布。通过分配 NA 修剪掉高于 99% 和低于 1% 的值。假设这个数据子集的平均值和标准差是 7 和 22。所以 -98 低于 1%,即 -44.18。这有意义吗?
-
那么下面的答案应该可以工作。
标签: r panel data-cleaning