首页 > 解决方案 > 用 R 插值地球化学数据中的缺失值 (NA)

问题描述

我目前正试图在我的地球化学数据中用 R 插入缺失值 (NA)。

到目前为止,我结合了 X 射线荧光分析的数据和来自同一钻芯的磁化率数据,所以我目前的数据如下所示:

   Bohrung.x  Bohrmeter Tiefe Vol..Susc..Meas..in.10..5.SI Vol..Susc..Meas..in.SI
1    TRE 15A       <NA>  0.34                       2.0530             2.0530e-05
2    TRE 15A       <NA>  0.35                       1.8835             1.8835e-05
3    TRE 15A       <NA>  0.36                       2.6866             2.6866e-05
4    TRE 15A       <NA>  0.37                       2.3182             2.3182e-05
5    TRE 15A 0 - 0,93 m  0.38                       1.8425             1.8425e-05
6    TRE 15A       <NA>  0.39                       2.2694             2.2694e-05
7    TRE 15A 0 - 0,93 m  0.40                       2.0429             2.0429e-05
8    TRE 15A       <NA>  0.41                       1.6823             1.6823e-05
9    TRE 15A 0 - 0,93 m  0.42                       1.2559             1.2559e-05
10   TRE 15A       <NA>  0.43                       0.6900             6.9000e-06
11   TRE 15A 0 - 0,93 m  0.44                       2.1336             2.1336e-05
12   TRE 15A       <NA>  0.45                       1.5240             1.5240e-05
13   TRE 15A 0 - 0,93 m  0.46                       2.0326             2.0326e-05
14   TRE 15A       <NA>  0.47                       2.0245             2.0245e-05
15   TRE 15A 0 - 0,93 m  0.48                       2.6620             2.6620e-05
       Ba     Sn    Cd Pd    Ag Mo     Zr    Sr    Rb   As Se Au Pb  W Zn Cu Ni
1      NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
2      NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
3      NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
4      NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
5  302.20   0.00  0.00  0  0.00  0 337.85 40.37 26.33 0.00  0  0  0  0  0  0  0
6      NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
7  405.44 167.71 37.32  0 78.81  0 402.12 36.37 26.14 7.98  0  0  0  0  0  0  0
8      NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
9    0.00   0.00  0.00  0  0.00  0 503.24 44.96 31.94 0.00  0  0  0  0  0  0  0
10     NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
11 200.84   0.00  0.00  0  0.00  0 200.09 40.17 27.75 0.00  0  0  0  0  0  0  0
12     NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
13 240.12   0.00  0.00  0  0.00  0 188.05 39.25 30.40 0.00  0  0  0  0  0  0  0
14     NA     NA    NA NA    NA NA     NA    NA    NA   NA NA NA NA NA NA NA NA
15 149.52   0.00  0.00  0  0.00  0 262.96 42.20 26.38 0.00  0  0  0  0  0  0  0

(完整的 csv 文件): https ://www.dropbox.com/s/4y8bb7nw4k5erkd/TRE15AExpo.csv?dl=0

我尝试使用 na.approx 替换测量之间的 NA。因此,我使用深度(在我的数据框中称为 Tiefe)作为索引创建了一个动物园系列(如在许多其他类似问题中所见)。

library(zoo)
TRE_Tiefe<- zoo(TRE15A)
index(TRE_Tiefe) <- TRE_Tiefe[,3]

所以我尝试运行 na.approx,希望它能够插入化学元素的缺失值......

TRE_Tiefe_approx <-na.approx(TRE_Tiefe, x= TRE_Tiefe$Tiefe, xout = TRE_Tiefe$Ba, na.rm =  TRUE, maxgap=1)

但我得到的只是......

Error in merge.zoo(object.x, zoo(, xout)) : 
  series cannot be merged with non-unique index entries in a series
Zusätzlich: Warnmeldung:
In zoo(, xout) :
  some methods for “zoo” objects do not work if the index entries in ‘order.by’ are not unique

我不确定我的错误在哪里以及如何正确应用 na.approx (或任何其他函数,如果 na.approx 不是正确的选项)来插入我的缺失值。我真的很感激一些帮助!提前感谢您的时间:-)

标签: rinterpolation

解决方案


推荐阅读