gpt4 book ai didi

r - 从数据框列表中提取观察值的索引列表

转载 作者:行者123 更新时间:2023-12-01 23:36:20 24 4
gpt4 key购买 nike

我有一个索引列表,我想使用这些索引从数据框列表中提取观察结果。一个简化的例子如下:

#A list of indices used to extract observations based on the time column from the `dat` dataset
time.index <- list(c(1,2,3), c(4,5,6), c(2,3,4))
#A list of data frames in which observations will be extracted based on the time column
dat <- list(case1=data.frame(time=1:10, y=rnorm(10)), case2=data.frame(time=1:10, y=rnorm(10)), case3=data.frame(time=1:10, y=rnorm(10)))
#The expected result will be like this:
$case1
time y
1 1 -0.8954070
2 2 0.0270242
3 3 -0.4256890

$case2
time y
4 4 1.5789
5 5 -0.6692
6 6 -2.3306

$case3
time y
2 2 -0.7371
3 3 -0.3271
4 4 0.4128

谁知道如何实现?非常感谢!

最佳答案

你可以使用 map :

Map(function(x, y) x[x$time %in% y, ], dat, time.index)

#$case1
# time y
#1 1 1.75
#2 2 1.13
#3 3 -1.45

#$case2
# time y
#4 4 2.212
#5 5 0.572
#6 6 0.149

#$case3
# time y
#2 2 -0.0377
#3 3 -0.1700
#4 4 0.8414

类似地,使用 purrrmap2 :

purrr::map2(dat, time.index, ~.x[.x$time %in% .y, ])

关于r - 从数据框列表中提取观察值的索引列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65556473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com