【发布时间】: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.1 和 x.2),而是始终显示倒数第三列的名称。列x.1 是a/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 <- DF$a/DF$x.y的操作来获取 x.1 作为列名。 -
至少非常你可以分享
str(DF)。 -
DF['x.y']不是向量。这是一个列表。