提问人:Hack-R 提问时间:10/9/2014 最后编辑:Hack-R 更新时间:10/9/2014 访问量:578
R 从数据帧中获取非采样行
R Take Non-sampled Rows from a Data Frame
问:
在 R 中,我可以随机抽取数据帧的一半行,如下所示:
data(iris); model_data <- iris
data <- model_data
half <- (nrow(model_data))%/%2
train <- model_data[sample(nrow(model_data), half), ]
但是,我还需要一种简单的方法来获取未采样的行,并将它们放在另一个调用验证的对象中。val
答:
1赞
Rich Scriven
10/9/2014
#1
你可以写一个函数来保持和在一起,也许是这样的train
val
foo <- function(data) {
samp <- sample(nrow(data), nrow(data)/2)
list(train = data[samp,], val = data[-samp,])
}
foo(mtcars)
foo(iris)
评论
s <- sample(nrow(model_data), half); val <- model_data[-s,]
如果没有可重现的例子,这就是我所能建议的全部内容data(iris); model_data <- iris