我在r中有一个数据集,如下所示:
# A tibble: 6 x 10
FIPS GEOID County_Name sk09 skimp10 skimp11 skimp12 skimp13 sk2014 skimp15
<int> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1001 01001 Autauga County, AL -0.326729733 NA NA NA NA -0.6310033 NA
2 1003 01003 Baldwin County, AL -0.422958353 NA NA NA NA -0.5553960 NA
3 1005 01005 Barbour County, AL -1.196517104 NA NA NA NA -0.8910361 NA
4 1007 01007 Bibb County, AL -0.951096825 NA NA NA NA -0.9065815 NA
5 1009 01009 Blount County, AL -1.303935099 NA NA NA NA -1.0132797 NA
6 1011 01011 Bullock County, AL -0.10070437 NA NA NA NA -0.5024002 NA
其中我的每个变量都是连续的一年(sk09 = 2009,skimp10 = 2010,skimp11 = 2011等)。我正在寻找一种方法来根据我所拥有的年份来估算我没有的变量。我看过MICE包和predict()函数,但似乎都不是我正在寻找的。这是否存在?
答案 0 :(得分:0)
您可以像这样进行简单的线性插值:
SKdat$skimp10 = (4*SKdat$sk09 + SKdat$sk2014)/5
SKdat$skimp11 = (3*SKdat$sk09 + 2*SKdat$sk2014)/5
SKdat$skimp12 = (2*SKdat$sk09 + 3*SKdat$sk2014)/5
SKdat$skimp13 = (SKdat$sk09 + 4*SKdat$sk2014)/5
SKdat$skimp15 = (-1*SKdat$sk09 + 6*SKdat$sk2014)/5
SKdat = read.table(text="FIPS GEOID County_Name sk09 skimp10 skimp11 skimp12 skimp13 sk2014 skimp15
1 1001 01001 'Autauga County, AL' -0.326729733 NA NA NA NA -0.6310033 NA
2 1003 01003 'Baldwin County, AL' -0.422958353 NA NA NA NA -0.5553960 NA
3 1005 01005 'Barbour County, AL' -1.196517104 NA NA NA NA -0.8910361 NA
4 1007 01007 'Bibb County, AL' -0.951096825 NA NA NA NA -0.9065815 NA
5 1009 01009 'Blount County, AL' -1.303935099 NA NA NA NA -1.0132797 NA
6 1011 01011 'Bullock County, AL' -0.10070437 NA NA NA NA -0.5024002 NA",
header=TRUE, stringsAsFactors=FALSE)