【问题标题】:Downsize the object memory by subsetting a data frame in R通过对 R 中的数据框进行子集化来缩小对象内存
【发布时间】:2019-07-28 12:22:05
【问题描述】:

所以我正在使用来自 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 字节

object.size(df[sample(1:nrow(df),500),])

157225848 字节

通过提取 0.1% 的数据,我只将数据缩减到 75%。我不明白为什么...

【问题讨论】:

    标签: r subset objectsize


    【解决方案1】:

    好吧,再深入研究一下,似乎是因为我的数据框是由因子组成的,甚至通过子集,它仍然保持空级别

    df = read.csv('Hotel_Reviews.csv',stringsAsFactors = FALSE)
    object.size(df)
    

    210584168 字节

    object.size(df[sample(1:nrow(df),500),])
    

    394464 字节

    【讨论】:

    • 是的,我最不喜欢的 R 默认值之一是 stringsAsFactors = TRUE。我可以看到它很有用,但通常这对我来说是一种痛苦。做得好自己找到解决方案并分享给其他人
    猜你喜欢
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 2016-02-12
    相关资源
    最近更新 更多