【问题标题】:Division creates megafile in RDivision在R中创建megafile
【发布时间】:2013-02-08 22:51:58
【问题描述】:

我在 R 中有一个 DataFrame:

             Category1            Category 2      x              y  x.x
1                     T                    A      1              9    9
2                     T                    B      2              8    9
3                     T                    A     10              7    9
4                     T                    C     19              6    9
                      z            a    x.y          x.y   x.y
1            0.11111111            1   2342 0.0004269855 0.000
2            0.22222222            3   2342 0.0012809564 0.001
3            0.33333333           13   2342 0.0055508113 0.006
4            0.44444444           32   2342 0.0136635354 0.014

最后两列 - 出于某种原因 - 不显示我给它们的名称(例如 x.1x.2),而是始终显示倒数第三列的名称。列x.1a/x.y 的除法结果,x.2 是同样的东西,只是四舍五入。现在,创建了这个data.frame(大约有4,000 rows)我创建了一个简单的csv:

write.csv(DF, 'DF.csv')

这 - 奇怪的是 - 生成一个 34 GB 文件。当我省略最后两列时,它变成了一个2MB 的小文件。如何避免这个巨大的文件,它来自哪里?

编辑


除法运算:

DF$x.1 <- DF$a/DF['x.y']

数据加载:

DF <- read.csv('data.csv', sep=';')

【问题讨论】:

  • 您好 Arun,我编辑了一些内容,但是由于内容是机密的,我无法粘贴 CSV。但是,这无关紧要,因为当我在除最后一列之外的所有列上使用 write.csv 时,它可以工作。这一部门似乎产生了一个巨大的专栏——但我不知道为什么。
  • 这非常重要,因为如果没有办法在我们的机器上重现这种行为,我们就无法调查可能发生的情况。
  • @oliver13 首先,我会执行类似DF$x.1 &lt;- DF$a/DF$x.y 的操作来获取 x.1 作为列名。
  • 至少非常你可以分享str(DF)
  • DF['x.y'] 不是向量。这是一个列表。

标签: r csv dataframe


【解决方案1】:

为了避免语法错误,我觉得transform在这里很合适。使用它,您可以使用简洁的语法基于现有列创建新列。

transform(DF,x.1 = a/x.y,x.2 = round(a/x.y,3))
  Category1 Category X2  x y x.x         z  a  x.y          x.1   x.2
1         1     TRUE  A  1 9   9 0.1111111  1 2342 0.0004269855 0.000
2         2     TRUE  B  2 8   9 0.2222222  3 2342 0.0012809564 0.001
3         3     TRUE  A 10 7   9 0.3333333 13 2342 0.0055508113 0.006
4         4     TRUE  C 19 6   9 0.4444444 32 2342 0.0136635354 0.014

【讨论】:

    猜你喜欢
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多