通过在 R 中对数据帧进行子集化来缩小对象内存
Downsize the object memory by subsetting a data frame in R
所以我正在使用来自 https://www.kaggle.com/jiashenliu/515k-hotel-reviews-data-in-europe/downloads/515k-hotel-reviews-data-in-europe.zip/1 的数据库,但我不明白为什么我不能通过对数据集进行子集化来缩小对象大小
df = read.csv('Hotel_Reviews.csv')
object.size(df)
200503848 bytes
object.size(df[sample(1:nrow(df),500),])
157225848 bytes
通过取 0.1% 的数据,我只将数据缩小到 75%。我不明白为什么...
好的,在更深入地研究之后,似乎是因为我的数据框是由因子组成的,即使通过子集,它也保留了空水平
df = read.csv('Hotel_Reviews.csv',stringsAsFactors = FALSE)
object.size(df)
210584168 bytes
object.size(df[sample(1:nrow(df),500),])
394464 bytes
所以我正在使用来自 https://www.kaggle.com/jiashenliu/515k-hotel-reviews-data-in-europe/downloads/515k-hotel-reviews-data-in-europe.zip/1 的数据库,但我不明白为什么我不能通过对数据集进行子集化来缩小对象大小
df = read.csv('Hotel_Reviews.csv')
object.size(df)
200503848 bytes
object.size(df[sample(1:nrow(df),500),])
157225848 bytes
通过取 0.1% 的数据,我只将数据缩小到 75%。我不明白为什么...
好的,在更深入地研究之后,似乎是因为我的数据框是由因子组成的,即使通过子集,它也保留了空水平
df = read.csv('Hotel_Reviews.csv',stringsAsFactors = FALSE)
object.size(df)
210584168 bytes
object.size(df[sample(1:nrow(df),500),])
394464 bytes