2013-02-27 2 views
0

내가 원시 숫자 공간 deliminated 텍스트 파일에서 RData에 파일을 만들려고 노력하고 파일을 변환즉, RData에 원시 데이터 파일이

11 33 55 
22 33 45 
25 78 00 
44 87 99 .... 

나는이 새로운 RData에 파일을로드하고 수행해야하는 또 다른 R 스크립트를 mapreduce (rhipe)를 사용하여 선형 회귀 분석. 내가이 RObject을 저장할 때 따라서 나는이 방법을 다시 읽을 필요가 : 나는 테이블 목록과 as.character을 포함하여 RData에 개체로 내 데이터를 저장하는 여러 가지 방법을 시도

data <- strsplit(unlist(map.values)," ") 

#so that I can run regression like: 
y<- unlist(lapply(data,"[[",1)) 
x1<-unlist(lapply(data,"[[",2)) 
x2<-unlist(lapply(data,"[[",3)) 
lm(y~x1+x2) 

을하지만, 비를 성공 그래서 나는 위의 방법을 사용하여 그것을 읽을 수 있습니다. 위와 같은 방식으로 원본 파일을 읽을 수 있도록 원본 파일을 어떻게 저장할 수 있습니까? 고맙습니다.

(PS. 내가 매퍼 내부 HDFS의 파일 읽기하고 있기 때문에 내가로드/read.table 기능을 사용할 수 없습니다) 내가 제대로 이해하면

+0

는 https://github.com/RevolutionAnalytics/RHadoop/wiki/rhdfs은 사용인가? – mnel

답변

0

, 당신은 당신의 저장 객체의 문자열의 무리가되고 싶어요 "number - space - number"형식. 이 경우 첫 번째 행을 생성하는 예로는 sprintf

foo <- sprintf('%d %d %d',my_data[1,]) 

을 사용하십시오. 전체 배열을 빌드하려면 루프 또는 *apply을 실행하십시오. 해당 문자열 배열을 RData 파일에 저장하십시오. 이것은 적어도 당신이 원하는 것에 가깝게해야합니다.
참고 : 나는 그것을 분류 및 회귀 분석 데이터를 수행하는 원단 코드를 개선 제안 쓸데 겠?

+0

RHipe를 사용하여 .RData 파일을 다시 읽을 때 다음과 같은 메시지가 표시됩니다. filename ï¿¿ 6�½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ ½, ����5����z��MG6BU����fQ3�Û����Ê'J� @ �Óï¿ ½l���n'���d�A�TT� \ ��! [N� 번호'X1pA을 ������u� 이 코드를 해독하려면 어떻게해야합니까? –