R从数据框中获取非采样行

时间:2014-10-08 18:37:55

标签: r random-sample

在R中,我可以随机抽取数据帧的一半行,如下所示:

data(iris);  model_data <- iris
data  <- model_data
half  <- (nrow(model_data))%/%2
train <- model_data[sample(nrow(model_data), half), ]

但是,我还需要一种简单的方法来获取未采样的行,并将它们放在另一个名为val的对象中进行验证。

1 个答案:

答案 0 :(得分:1)

您可以编写一个函数将trainval放在一起,可能类似

foo <- function(data) {
    samp <- sample(nrow(data), nrow(data)/2)
    list(train = data[samp,], val = data[-samp,])
}
foo(mtcars)
foo(iris)