司创建megafile R中
问题描述:
我在为r的数据帧:司创建megafile R中
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=';')
答
要避免语法错误,我认为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
嗨,Arun,我编辑了一些东西,但是,由于内容是保密的,我无法粘贴CSV。但是,这并不重要,因为在除最后一个列以外的所有列上使用write.csv时都是如此。这一个部门似乎产生了一个巨大的专栏 - 但我不知道为什么。 – oliver13 2013-02-08 23:18:46
它非常重要,因为如果没有办法在我们的机器上重现此行为,我们无法调查可能发生的情况。 – joran 2013-02-08 23:26:46
@ oliver13要开始,我会做'DF $ x.1 agstudy 2013-02-08 23:27:49