이것은 일반적인 메모리 할당 오류가 발생 했습니다. 일반적인 문제는 혁명 R은 데이터의 단일 부분에 대 한 메모리의 데이터를 처리 하는 데 데이터 파일의 행이 너무 많습니다를 한 번에 읽을 하려는 것입니다.
먼저 문제를 해결 하려면 다음을 시도해 보십시오.
RxImport() 문의 인수 'rowsPerRead'에 대 한 작은 값을 설정 합니다. '10000' 이하의 값을 봅니다. 다른 설정을 시도해 야
이 식일을 제대로 작동 하 고 가능한 한 빨리 데이터를 가져옵니다.
이렇게 하는 경우 csv 파일에 열을 많이 한 번에 'x' 데이터 열을 가져올 수 있습니다. 예를 들어, 5000 열으로 데이터 집합을 경우 50 열에 대 한 데이터를 한 번에 가져올 새 XDF 파일 50 열에 대 한 데이터를 작성 하 고 해당 기존 XDF 파일에 추가 합니다.
그렇게 하려면 R 샘플 코드는 다음과 같습니다.
varNames <- readLines("mycsv.txt", n=1) colsPerRead <- 50 ## Set how many columns to read from the csv file at a time. You may want to initially set this to a larger value, say 100.
numReadsFromFile <- length(varNames/colsPerRead)
for (i in 1:numReadsFromFile)
{
tempdf <- rxImport(inData = "C:/MyRData/data.csv", varsToKeep = paste(varNames[((i-1)*colsPerRead)+1:(((i-1)*colsPerRead)+1)+colsPerRead], sep = ","),
rowsPerRead = 10000)
rxDataFrameToXdf(data = tempdf, ouFile = "C:/MyRData/data.xdf", append = "cols")
}