在R中绑定两个ffdf数据帧

时间:2012-08-13 11:20:37

标签: r

关于ff包的另一个问题。 R中的rbindff包中是否有ffbase等效函数?我想按行绑定两个ff数据帧。这可以在ff包中完成,还是有其他可以帮助我的库?

3 个答案:

答案 0 :(得分:2)

使用ffbase软件包0.6版的ffdfappend。 版本0.5的ffdfappend旨在将data.frame附加到ffdf,而版本0.6中的ffdfappend也允许将ffdf附加到ffdf。 您可以使用以下R代码安装该软件包的0.6版本:

download.file(url="http://fffunctions.googlecode.com/git-history/b6fa5617810e012e5d809d77a9a99dbb25c7e6dc/output/ffbase_0.6.tar.gz", destfile="ffbase_0.6.tar.gz")
install.packages("ffbase_0.6.tar.gz", repos=NULL)

答案 1 :(得分:1)

如果fd1中没有新的因子级别,您可以将adjustvmode设置为FALSE,如下所示。

vd<-ffdfappend(fd, fd1, adjustvmode=F)

答案 2 :(得分:1)

rbind()可根据需要使用ffdf个对象。例如:

df1 = as.ffdf(data.frame(A = 21:23, B = letters[1:3]))
df2 = as.ffdf(data.frame(A = 31:34, B = letters[11:14]))
df3 = as.ffdf(data.frame(A = 41:42, B = letters[21:22]))
rbind(df1, df2, df3)

收率:

ffdf (all open) dim=c(9,2), dimorder=c(1,2) row.names=NULL
ffdf virtual mapping
PhysicalName VirtualVmode PhysicalVmode  AsIs VirtualIsMatrix PhysicalIsMatrix PhysicalElementNo PhysicalFirstCol PhysicalLastCol PhysicalIsOpen
A            A      integer       integer FALSE           FALSE            FALSE                 1                1               1           TRUE
B            B      integer       integer FALSE           FALSE            FALSE                 2                1               1           TRUE
ffdf data
   A  B
1 21 a 
2 22 b 
3 23 c 
4 31 k 
5 32 l 
6 33 m 
7 34 n 
8 41 u 
9 42 v