2014-03-12 60 views
0

我試圖使用read.csv.ffdf將大量(〜5GB).csv文件加載到R中。命令雲:FF中R:沒有適用於'recodeLevels'的方法

npi <- read.csv.ffdf(file="C:/Users/DSA/Dropbox/Team Shared Files/People/Ross/NPI_Parse/Zips/npi_full.csv", VERBOSE=TRUE, first.rows=10000,next.rows=100000,colClasses=NA) 

的命令運行了一段時間,然後引發以下錯誤:「無適用方法應用於類的一個對象‘recodeLevels’」 C(‘雙’,‘數字’)。 「有些搜索告訴我需要使用transFUN選項,但我不知道如何應用它,數據既是文本也是數字,我認爲這可能會導致問題,如果有幫助,我可以上傳csv的屏幕截圖,但它需要年齡在LibreOffice中打開。

任何人都知道什麼花樣?

回答

1

read.csv.ffdf的文檔。

transFUN:NULL或一個是與FUN和進一步加工之前讀出之後被調用每個data.frame塊功能(用於過濾,轉換等)

如果您的列的變化之一是從一個因子數字或反之亦然,確保它是使用transFUN的因子

npi <- read.csv.ffdf(
    file="C:/Users/DSA/Dropbox/Team Shared Files/People/Ross/NPI_Parse/Zips/npi_full.csv", 
    VERBOSE=TRUE, first.rows=10000,next.rows=100000, 
    transFUN=function(x){ 
    x$yourcolumnwiththeerror <- factor(as.character(x$yourcolumnwiththeerror)) 
    x 
    }) 
相關問題