У меня есть файл CSV, в котором 600 000 строк и 1339 столбцов, что составляет 1,6 ГБ.1337 столбцов - это двоичные файлы, принимающие либо 1, либо 0 значений, а другие 2 столбца - числовые и символьные переменные.
Я извлек данные, используя пакет readr со следующим кодом
VLU_All_Before_Wide <- read_csv("C:/Users/petas/Desktop/VLU_All_Before_Wide_Sample.csv")
Когда я проверялРазмер объекта, используя следующий код, составляет около 3 ГБ.
> print(object.size(VLU_All_Before_Wide),units="Gb")
3.2 Gb
На следующем шаге, используя приведенный ниже код, я хочу создать обучающий и тестовый набор для регрессии LASSO.
set.seed(1234)
train_rows <- sample(1:nrow(VLU_All_Before_Wide), .7*nrow(VLU_All_Before_Wide))
train_set <- VLU_All_Before_Wide[train_rows,]
test_set <- VLU_All_Before_Wide[-train_rows,]
yall_tra <- data.matrix(subset(train_set, select=VLU_Incidence))
xall_tra <- data.matrix(subset(train_set, select=-c(VLU_Incidence,Replicate)))
yall_tes <- data.matrix(subset(test_set, select=VLU_Incidence))
xall_tes <- data.matrix(subset(test_set, select=-c(VLU_Incidence,Replicate)))
Когда я начал сеанс R, объем оперативной памяти составлял ~ 3 ГБ, а к тому времени, когда я выполнил весь приведенный выше код, теперь он составлял 14 ГБ, из-за чего возникла ошибка: не удается выделить вектор размером 4 ГБ.Не было другого приложения, кроме 3-х хромированных окон.Я удалил исходный набор данных, обучающий и тестовый наборы данных, но он уменьшил ОЗУ только на 0,7 ГБ.
rm(VLU_All_Before_Wide)
rm(test_set)
rm(train_set)
Спасибо, если кто-то может подсказать мне способ уменьшения размера данных.
Спасибо