在 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
我有一个数据框。
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