【发布时间】:2026-02-06 03:00:01
【问题描述】:
我有一个如下所示的数据框:
# Dataframe
set.seed(1)
df <- data.frame(a=c('foo', 'foo', 'bar', 'bar'),
b=c('baz', 'baz', 'quz', 'quz'),
c=as.Date(c("2018-01-01", "2018-04-04")),
d=c(1, 4, 1, 4),
e=runif(4))
我正在通过这样做来插入数据:
# Split to do lapply
l <- split(df, df$a)
# Interpolate
l2 <- lapply(l,
function(x) approx(x = x$d,
y = x$e,
xout = c(2, 3)))
我最终希望得到一个看起来像这样但不知道如何将插值结果返回到数据帧中的数据帧。
想要的结果:
a b c d e
1 foo baz 2019-01-01 1 0.2655087
2 foo baz NA 2 0.3010471
3 foo baz NA 3 0.3365855
4 foo baz 2019-04-04 4 0.3721239
5 bar quz 2019-01-01 1 0.5728534
6 bar quz NA 2 0.6846382
7 bar quz NA 3 0.7964230
8 bar quz 2019-04-04 4 0.9082078
【问题讨论】:
标签: r