如何在 R 中插入数据框的每一行?

How can I interpolate each row of a data frame in R?

我有类似的东西:

wavelength       plt1       plt2
1     404.502 0.01451395 0.01394186
2     411.006 0.01538372 0.01455814
...
74    989.878 0.25398372 0.25955116
75    996.382 0.25714419 0.25986279

interpolated1 <- approx(mydata$wavelength, y=NULL, method = "linear", n = 371)

适用于一列。 我想转置,然后对每一行进行插值以获得与原始值相同范围内的 371 个值,例如

apply(mydata_transposed, 1, approx),没有抛出错误,但 returns 没有插值。我想指定我的插值间隔。

提前致谢。

ting = "wavelength       plt1       plt2
404.502 0.01451395 0.01394186
411.006 0.01538372 0.01455814
989.878 0.25398372 0.25955116
996.382 0.25714419 0.25986279"

data <- read.table(text = ting, header = TRUE)

interpolated1 <- apply(data, 2, function(x) approx(x, y=NULL, method = "linear", n = 371)$y)

dim(interpolated1)
# [1] 371   3

head(interpolated1)
# wavelength       plt1       plt2
# [1,]   404.5020 0.01451395 0.01394186
# [2,]   404.5547 0.01452100 0.01394686
# [3,]   404.6075 0.01452805 0.01395185
# [4,]   404.6602 0.01453511 0.01395685
# [5,]   404.7129 0.01454216 0.01396185
# [6,]   404.7657 0.01454921 0.01396684