我有一个类似的数据集:
x
a b c d e
1 2 1 2 1
2 3 1 2 1
3 4 5 1 3
. . . . .
. . . . .
. . . . .
1000 2 43 1 3
y
c(2,18,20)
z
c(12,28,30)
我需要在3个数据集中对数据集x进行子集化,其中第一个数据集将包含来自y [1]的col col值:z [1]等等
答案 0 :(得分:1)
尝试:
dat <- data.frame(a = 1:30, b = 31:60)
y <- c(2, 18, 24)
z <- c(4, 21, 25)
mapply(function(a,b) dat[a:b,], y, z,
SIMPLIFY = FALSE)
# [[1]]
# a b
# 2 2 32
# 3 3 33
# 4 4 34
# [[2]]
# a b
# 18 18 48
# 19 19 49
# 20 20 50
# 21 21 51
# [[3]]
# a b
# 24 24 54
# 25 25 55