首页 > 解决方案 > R sample.split(large vector) 需要永远

问题描述

我有一个包含 3,640,000 个观测值 (55.5 MB) 和三列的数据表。我试图将这些数据分成一个训练集和一个测试集来构建一个简单的线性回归模型。这是我的代码。

library(caTools)
set.seed(123)
split <- sample.split(datasetSubset$TOTAL_POS, SplitRatio = 0.75)
training_set <- subset(datasetSubset, split == TRUE)
test_set <- subset(datasetSubset, split == FALSE)

sample.split 需要很长时间(我尝试运行了几个小时,但没有完成)。知道如何创建训练集和测试集吗?

什么最终奏效了? 我在安装 caret 包时遇到了困难。

@aginensky 提出的解决方案奏效了。

以下内容也有效(正如 Udemy 的助教 Alex 所建议的那样)

install.packages("tidyverse")
library(tidyverse)
datasetSubset$id <- 1:nrow(datasetSubset)
train <- datasetSubset %>% dplyr::sample_frac(.75)
test  <- dplyr::anti_join(datasetSubset, train, by = 'id')

标签: r

解决方案


推荐阅读