2013-02-14 3 views
0

Есть ли способ преобразовать ffdf в нормальный фрейм данных? Предполагая, что вещь достаточно мала, чтобы вписаться в баран.from ffdf to regular dataframe

, например:

library(ff) 
library(ffbase) 

data(trees) 
Girth <- ff(trees$Girth) 
Height <- ff(trees$Height) 
Volume <- ff(trees$Volume) 
aktiv <- ff(as.factor(sample(0:1,31,replace=T))) 
#Create data frame with some added parameters. 
data <- ffdf(Girth=Girth,Height=Height,Volume=Volume,aktiv=aktiv) 
rm(Girth,Height,Volume,trees,aktiv) 

aktiv <- subset.ffdf(data, data$aktiv== "1") 

, а затем преобразовать Aktiv в кадр данных и сохранить RDATA (к сожалению, человек ждет выход не хотят, чтобы узнать, как работать с пакетом Ф.Ф., поэтому у меня есть нет Choise)

Благодаря

+1

Где вы получите 'функцию subset.ffdf'? Кажется, что это не в пакете 'ff'. –

+0

Вы попробовали 'as.data.frame (aktiv)'? – Arun

+0

см. Http://r.789695.n4.nabble.com/how-to-work-with-big-matrices-and-the-ff-package-td1838571.html –

ответ

3

Просто используйте as.data.frame:

aktiv <- subset(as.data.frame(data), aktiv == 1) 

    Girth Height Volume aktiv 
2 8.6  65 10.3  1 
7 11.0  66 15.6  1 
9 11.1  80 22.6  1 
12 11.4  76 21.0  1 
13 11.4  76 21.4  1 
15 12.0  75 19.1  1 
17 12.9  85 33.8  1 
20 13.8  64 24.9  1 
21 14.0  78 34.5  1 
23 14.5  74 36.3  1 
26 17.3  81 55.4  1 
27 17.5  82 55.7  1 
28 17.9  80 58.3  1 
31 20.6  87 77.0  1 

Отсюда вы можете легко использовать save или write.csv, например .:

save(aktiv, file="aktiv.RData") 
+0

благодарит за быстрый ответ, я не знаю, почему я не пробовал это :) – Soly

+0

не стесняйтесь принимать ответ, если он точен – statquant