【问题标题】:Fixing missing values in my data (a lot of missing values so can't impute)修复我的数据中的缺失值(很多缺失值,因此无法估算)
【发布时间】:2022-11-14 08:37:27
【问题描述】:

我有一个数据框,在其中一列中我有很多缺失的数据,我试图估算这些值,但由于缺失的太多,它做得不是很好。这里有问题的列大约每 5 年给出一个值,通常我会删除它,但我想看看我是否可以从中挽救一些东西。我想要继续提供的值,填写 NA 直到出现新值。因此,例如在我提供的数据中,我正在寻找这样的输出;

df
Country_Name year gdp_per_capita freshwaster_production_pc
Albania 1997       717.3800              4.543622e-07 #use this value
Albania 1998       813.7894              4.543622e-07
Albania 1999      1033.2425              4.543622e-07
Albania 2000      1126.6833              4.543622e-07
Albania 2001      1281.6598              4.543622e-07
Albania 2002      1425.1242              5.451047e-07 #new value so now we use this
Albania 2003      1846.1201              5.451047e-07
Albania 2004      2373.5813              5.451047e-07

我也对更好的方法来处理这个问题持开放态度,所以请随时提出任何更好的建议。我考虑过平均这些值并使用它们,但我认为这是显示时间变化的更好方法

样本数据;

head(df, 30)
   Country_Name year gdp_per_capita freshwaster_production_pc
1                  Albania 1997       717.3800              4.543622e-07
2                  Albania 1998       813.7894                        NA
3                  Albania 1999      1033.2425                        NA
4                  Albania 2000      1126.6833                        NA
5                  Albania 2001      1281.6598                        NA
6                  Albania 2002      1425.1242              5.451047e-07
7                  Albania 2003      1846.1201                        NA
8                  Albania 2004      2373.5813                        NA
9                  Albania 2005      2673.7866                        NA
10                 Albania 2006      2972.7429                        NA
11                 Albania 2007      3595.0381              4.201121e-07
12                 Albania 2008      4370.5399                        NA
13                 Albania 2009      4114.1349                        NA
14                 Albania 2010      4094.3484                        NA
15                 Albania 2011      4437.1426                        NA
16                 Albania 2012      4247.6300              3.876498e-07
17                 Albania 2013      4413.0620                        NA
18                 Albania 2014      4578.6332                        NA
19                 Albania 2015      3952.8025                        NA
20                 Albania 2016      4124.0554                        NA
21                 Albania 2017      4531.0194              3.796820e-07
22                 Albania 2018      5287.6637              3.342199e-07
23                 Albania 2019      5396.2159                        NA
24                 Albania 2020      5332.1605                        NA
25                 Albania 2021      6494.3857                        NA
26                 Algeria 1997      1619.7977              1.773179e-07
27                 Algeria 1998      1596.0039                        NA
28                 Algeria 1999      1588.3489                        NA
29                 Algeria 2000      1765.0271                        NA
30                 Algeria 2001      1740.6067                        NA
31                 Algeria 2002      1781.8289              1.897217e-07
32                 Algeria 2003      2103.3813                        NA
33                 Algeria 2004      2610.1854                        NA
34                 Algeria 2005      3113.0949                        NA
35                 Algeria 2006      3478.7100                        NA

【问题讨论】:

    标签: r


    【解决方案1】:

    df$freshwaster_production_pc=na.locf(df$freshwaster_production_pc)

    【讨论】:

      猜你喜欢
      • 2019-05-14
      • 2014-04-12
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多