在 R 的列中调整和插入中间值

Resizing and interpolating middle values in column in R

我有一个数据框。

df <- data.frame(level = c(1:10), values = c(3,4,5,6,8,9,4,2,1,6))

我想将其调整到更少的级别,比如说 6 个级别。

其中 0 级和 10 级对应于新数据框中的 0 级和 6 级。 (我只是猜测中间有一些浮动,不确定实际结果是什么)

level   value
    1       3       
    2     3.4
    3     4.6
    4     6.2
    5     2.2
    6       6

我该怎么做?

也许您想使用 approxfun 进行插值,如下所示?

data.frame(
  level = 1:6,
  values = approxfun(df$level, df$values)(seq(1, nrow(df), length.out = 6))
)

这给出了

  level values
1     1    3.0
2     2    4.8
3     3    7.2
4     4    7.0
5     5    1.8
6     6    6.0