首页 > 解决方案 > 填充最可能的值 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,....)

标签: r

解决方案


我认为您正在寻找线性插值。该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

推荐阅读