代码之家  ›  专栏  ›  技术社区  ›  K.Hua

通过在R中子集一个数据帧来缩小对象内存

  •  1
  • K.Hua  · 技术社区  · 6 年前

    所以我用的是 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%。我不明白为什么。。。

    0 回复  |  直到 6 年前
        1
  •  2
  •   K.Hua    6 年前

    在更深入地研究之后,似乎是因为我的数据框是由因子组成的,即使通过子集,它也保持了空的级别

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

    210584168字节

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

    394464字节