计算省略前导和尾随零的列的组的偏度

时间:2019-08-22 15:19:39

标签: r

我有一个包含12列或更多列的数据框-非常大的数据集。每行代表一组数据点,我需要为其计算平均值,中位数,Q1,Q3,偏度和峰度。但是,某些面向日期的列的值为零-我不希望在出现该行的第一个非零值之前开始计算。此外,某些感兴趣的项目以零个字符串结尾-计算需要在列与列之间出现连续的零来停止。更糟糕的是,第一个和最后一个非零条目之间的某些数据点实际上可以为0-因此我不能只替换所有零或排除所有零。我还想创建一些标识符列来识别偏斜度等。

我是R的新手,对循环有麻烦。我尝试创建单独的数据帧,用NA替换零,等等。我能够产生结果,但是它们将前零和后零归为真实数据点,这使我的计算不可行。

我获取了数据集的一个子集并将其转置(因为我无法找到一种方法来逐行进行偏度,峰度等计算。

df_t_data <- transpose(df_data_subset2)
df_t_data <- data.matrix(df_t_data)
df_data_skew <- skewness(df_t_data, na.rm = TRUE)

我不知道该怎么做,是逐行缩减数据集,但又将它们与精确的计算放在一起。

我需要类似以下的输出:

Sep Vol Oct Vol ...     Feb Vol Mar Vol Apr Vol May Vol 
0   0   ... 2   6   16  6
0   0   ... 0   0   0   0
0   328 ... 2718    4792    4595    3232

Jun Vol Q1  Q2  Q3  Mean            Skewness    Kurtosis
0   0   0   3   2.666666667 2.017281797 6.150746944
0   0   0   0   0       
4245    1342.75 2481.5  3485.25 2386.333333 -0.088994825    1.875574703

转置和操纵数据框;用NA替换零(但有一些我不应该拥有的零)。

数据列(显示前导/后缀零),列出的每个统计信息的列,以及基于偏斜/峰度水平的一些“标记”列。

0 个答案:

没有答案