gpt4 book ai didi

r - 如何减少R中的数据大小?

转载 作者:行者123 更新时间:2023-12-01 03:07:37 24 4
gpt4 key购买 nike

我有一个 CSV 文件,它有 600,000 行和 1339 列,大小为 1.6 GB。 1337 列是采用 1 或 0 值的二进制文件,其他 2 列是数字和字符变量。

我使用带有以下代码的包读取器提取数据

VLU_All_Before_Wide <- read_csv("C:/Users/petas/Desktop/VLU_All_Before_Wide_Sample.csv")

当我使用以下代码检查对象大小时,大约为 3 GB。
> 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 session 时,RAM 为 ~3 gb,当我执行上述所有代码时,它现在为 14 gb,给我一个错误,提示无法分配大小为 4 gb 的向量。除了 3 个 chrome 窗口外,没有其他应用程序在运行。我删除了原始数据集、训练和测试数据集,但它只将 0.7 GB RAM 减少到 1 GB。
rm(VLU_All_Before_Wide)
rm(test_set)
rm(train_set)

感谢有人可以指导我减少数据大小的方法。

谢谢

最佳答案

R 在处理大型数据集时遇到困难,因为它试图将所有数据加载并保存到 RAM 中。您可以使用 R 中可用的其他包来处理大数据集,例如“bigmemory”。和 ff .检查我的回答 here它解决了类似的问题。

您还可以选择在 R 之外进行一些数据处理和操作,并删除不必要的列和行。但是,为了处理大数据集,最好使用有能力的包。

关于r - 如何减少R中的数据大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55272881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com