r - 填充最可能的值 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
这将给出这个情节:
我的目标是首先,在一列中有从 1 到 20 的值,并且对于每个值 b 应该计算为最可能的值(以获得在所有 20 个类 a 中恰好有 20 个 b 值的近似图)
预期值:
a<-c(1:20)
b<-c(100,110,120,130,92,60,59,58,44,103,....)
解决方案
我认为您正在寻找线性插值。该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