如果我从具有50个观察值的数据帧中生成30个样本,如何使用filter
函数将其余20个从50个数据帧中分离出来?是否可以在两个数据帧之间使用filter
函数?如果是这样,那又如何?
谢谢。
答案 0 :(得分:0)
这里是一个例子:
# dummy data
dat <- data.frame(x = 1:10,
y = letters[1:10], stringsAsFactors = FALSE)
创建样本索引,为可重复性设置种子。
set.seed(1)
idx <- sort(sample(1:nrow(dat), size = 6, replace = FALSE))
idx
#[1] 2 3 4 5 7 8
子集数据框
dat[idx, ]
# x y
#2 2 b
#3 3 c
#4 4 d
#5 5 e
#7 7 g
#8 8 h
获取不在idx
中的行
dat[-idx, ]
# x y
#1 1 a
#6 6 f
#9 9 i
#10 10 j