填充最可能的值R

时间:2019-12-27 17:24:13

标签: r

我有一个包含2列的数据框:

a<-c(1, 3, 4, 6, 8.7, 9, 10, 12, 19.3, 20)
b<-c(10, 30, 40, 60, 87, 90, 100, 120, 190, 200)
df<-data.frame(a=a, b=b)
> df
      a   b
1   1.0  10
2   3.0  30
3   4.0  40
4   6.0  60
5   8.7  87
6   9.0  90
7  10.0 100
8  12.0 120
9  19.3 190
10 20.0 200

这将给出该图:

enter image description here

我的目标是首先在1到20的一列中包含值,并且对于每个值b都应计算为最可能的值(以获得在a的所有20类中正好包含b的20个值的近似图)

期望值:

a<-c(1:20)
b<-c(100,110,120,130,92,60,59,58,44,103,....)

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找线性插值。 approx函数可用于此目的:

as.data.frame(approx(df$a, df$b, xout = c(1:20)))
#    x        y
#1   1  10.0000
#2   2  20.0000
#3   3  30.0000
#4   4  40.0000
#5   5  50.0000
#6   6  60.0000
#7   7  70.0000
#8   8  80.0000
#9   9  90.0000
#10 10 100.0000
#11 11 110.0000
#12 12 120.0000
#13 13 129.5890
#14 14 139.1781
#15 15 148.7671
#16 16 158.3562
#17 17 167.9452
#18 18 177.5342
#19 19 187.1233
#20 20 200.0000