问题标签 [na.approx]

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 投票
2 回答
183 浏览

r - 反向/反向 na.approx

我有一个带有前导 NA 的日期向量,我想使用na.approxfrom package为这些 NA 生成一个近似序列zoo

na.approx不适用于领先的 NA:

我以为我可以使用反向向量,rev但我仍然得到 NA

有任何想法吗?

0 投票
0 回答
803 浏览

r - 当边界值为 NA 时如何使用 na.approx 进行插值

我想调整缺失值的插值的最终值,以便应用下一组非 NA 值之间的差异来确定第一个值。例如,这是代码

而不是最初的 10,我希望它是 12(前一个插值携带的第二个和第三个元素之间的差异)。在应用没有 na.rm 选项的 na.approx 之后,我可以使用 Shift 的组合。但是我可以使用 Na.approx 或 approx 功能吗?

0 投票
1 回答
501 浏览

r - Correct use of na.approx in data.table and pipe

I am very new to data.table and would like to try it out to see if it makes my analysis faster. I mainly use knitr to compile .rnw files (which I tend to compile many times per hour so I want it to be as fast as possible).

I have posted a sample below and this is by no means a question of comparison agianst data.table and data.frame. I would like to know if I my code below is what it should be.

I am basically joining two data.tables and then need to linearly approximate using na.approx missing NA values. I used the Introduction to data.table vignette from CRAN and JOINing data in R using data.table from R-Pubs.

The code I am using below results in my best attempt at a data.table method taking a long time (in general too, I only added the other code reference).

Also, if anyone knows if there is a way to pipe in na.approx() into a chain and still have the output as a data.frame that would be appreciated. Note the df_merged = as.data.frame(df_merged) line that I would like to get rid of if possible!

Any input is greatly appreciated thank you!

0 投票
1 回答
1044 浏览

r - 错误:对于瞳孔数据,替换有 1810947 行,数据有 1810956(每次相同)

我在 R(数据)中有一个大型数据框,由 23 个 .gazedata 文件(每个主题一个)组成:

创建因子和时间变量后,我根据眼动仪收集的默认有效性参数创建瞳孔变量:

现在,我需要创建一个插值瞳孔变量 (pupil_inter) 来将值插值到最大间隙 4:

但是,会出现以下错误:

这些行金额每次都完全相同。

至关重要的是,如果我从预处理中排除主题 22 和 23 .gazedata 文件,后一个代码可以工作并且没有错误

我已尝试确定现有的“替换有 [x] 行,数据有 [y]”问题以帮助解决我的具体问题,但找不到相关的解决方案。所有 .gazedata 文件都是使用相同的硬件和软件收集的。

即使首先使用以下代码成功地创建了一个 null 瞳孔间变量,该错误仍然存​​在:

提前感谢您提供的任何建议。

0 投票
1 回答
424 浏览

r - 如何将 na.approx 应用于矩阵中的一行?

我正在尝试对数据框中的所有行进行插值。我正在使用apply(data_final,2,na.approx). 这会对值进行插值,但有些超出范围。

如果我na.approx(data_final[8,])改为使用,与使用apply.

另外,如果我这样做,na.approx(data_final)我会得到与apply(data_final,2,na.approx). 这没有任何意义,因为据说 apply 正在将na.approx函数应用于数据框中的每一行。

应用(data_final,2,na.approx)[8,] 0.63 0.49 2.40 2.65 3.65 5.80 0.96 1.85 1.43 1.25 1.21 1.20 0.91 1.00 0.96 0.80 1.42 1.82 1.910

na.approx(data_final[8,]) [1] 0.630 0.490 0.584 0.678 0.772 0.866 0.960 1.850 1.430 1.250 1.210 1.200 0.910 1.000 0.960 0.800 1.420 1.820 1.910 1.780 1.620 [22] 1.650 1.380 1.370

0 投票
1 回答
42 浏览

r - 用字段的上一个和下一个可用值的平均值替换 Dataframe 中的 NA 值

可用的更大数据集的样本数据集采用以下格式:

我想用该列中 NA 的下一个和上一个可用值的平均值来近似数量小于 2 的 NA。在原始数据集中某处 NA 的数量为 100,所以我想忽略连续 NA 的数量大于 3。Par_Count 表示参数中该特定值的连续出现次数。我尝试了: library(zoo) df1 <- within(df, na.approx(df$Parameter, maxgap = 2)) 甚至对于单次出现: df1 <- within(df, Parameter[Parameter == is.na(df$Parameter) & Par_Count == 1] <- lead(Parameter) - lag(Parameter)) 但没有任何效果。它没有改变任何出现的 NA 值。所需的输出如下:

0 投票
0 回答
124 浏览

r - R:逐行加速大型矩阵的 na.approx

我想对一个大矩阵(52017455 x 150)的每一行的NA值做一个简单的线性插值,通常我可以通过使用带有apply函数的zoo包中的na.approx函数来做到这一点,但是,这太慢了,我想知道是否有 Rcpp 或 data.table 函数或 packge 来执行此操作?一般来说,我的数据是遥感时空网格,我尝试在光栅包中使用 approxNA 函数,但速度不够快。

0 投票
2 回答
44 浏览

r - na.approx 函数不会产生正确的时间戳

由于夏令时,我有一个大型电力负荷数据集,其中缺少每年三月最后一个星期日的时间戳。我在下面复制了几行,其中包含缺少的时间戳。

我尝试使用 na.approx 填充这些缺失的时间戳,但该函数返回“2015-03-29 02:30:00”,而不是“2015-03-29 03:00:00”。它没有使用正确的比例。

我也尝试过使用其他一些功能,例如“填充”,但它们都不能正常工作。由于我对 R 相当陌生,因此我非常感谢任何有关填补缺失时间戳的建议。先感谢您。

0 投票
1 回答
116 浏览

r - 在 R 中的行和输出数据帧上应用 na.approx

给定以下数据框:

我想通过对行进行插值来用值替换 NA,从而产生以下数据框:

我尝试将 na.apporox 与 apply 结合使用:

但这会导致以下错误:

提前感谢您的帮助!!!

编辑:我忘了定义如何在 na.approx 函数中处理 NA。

这会产生所需的输出!

0 投票
0 回答
50 浏览

r - 在 ggplot 中使用 rollmean 和 na.approx

我有时间序列数据有差距。我正在应用运行平均值并减少丢失数据的天数,我na.approx()在平滑之前一直在进行插值。在绘图时,我不想显示这些插值,因此我随后再次用 NA 替换它们。为了实现这一切,我的代码非常冗长。

我一直在尝试减少代码行并简化流程,并了解到我可以rollmean()直接在 ggplot 中调用。但是,因为它没有在差距上进行插值,所以我失去了 9 个“好”天的数据。因为我们有一个强烈的季节性模式,这很重要,因为我们有点失去它。

有没有办法通过在 rollmean 中包含 na.approx 来解决这个问题?

为了说明我的意思:橙色线是原始时间序列蓝色/黑色实线是组合的结果,na.approx()蓝色SMA()部分是插值部分。虚线红线来自rollmean()直接在 ggplot 中调用。

时间序列的ggplot

rollmean()我想使用within绘制尽可能接近黑色的虚线红线ggplot