2009-07-29 2 views
5

데이터가 많은 Excel 파일이 있습니다. Excel에서 사용할 수있는 내장 된 그래프는 이러한 데이터를 분석하기에 충분 하지, 그래서 내가 Excel에서 옥타브로 파일을 직접로드 옥타브 또는 R.Excel 파일에서 R 또는 Octave로 데이터로드

과 같은 몇 가지 도구

나는 몇 가지 방법에 대해 생각했다을 사용하는 방법에 대해 생각하고 또는 R. 나는 웹을 검색하여 Excel에서 CSV 파일로 데이터를 내보내 많은 사람들이 성공했음을 발견했습니다.

질문 : R 또는 Octave에서 Excel 파일을로드하는 직접적인 방법이 있습니까?

답변

4

예, here's how :

Windows 사용자는 패키지 RODBC에 odbcConnectExcel를 사용할 수 있습니다. 이렇게하면 Excel 스프레드 시트 파일의 시트에서 행과 열을 선택할 수 있습니다 (적어도 ODBC 드라이버에 따라 Excel 97-2003부터 : odbcConnect를 직접 Excel 3.0으로 다시 호출 할 수 있음). odbcConnectExcel2007 버전은 이전 버전과 마찬가지로 Excel 2007 형식을 읽습니다 (드라이버가 설치된 경우 RODBC 참조).

3

gdata 패키지에있는 또 다른 (및 휴대용) 옵션은 read.xls입니다. 크로스 플랫폼 (cross-platform)은 기본 Perl 코드를 사용하여 xls 파일의 데이터를 구문 분석, 읽기, csv 파일로 변환 한 후 읽을 수 있습니다. 필요한 Perl 패키지는 모두 gdata에 의해 제공됩니다.

동일한 트릭을 사용하여 옥타브 패키지를 쉽게 만들 수 있습니다.

3

귀하의 질문에 이미 답변되었습니다. 이 문제가 미래의 사례에 도움이되는 경우 이러한 유형의 질문에 유용한 리소스는 일반적인 데이터베이스 및 파일 형식의 데이터에 액세스하기위한 유용한 API, 패키지, 팁 등을 다루는 R Data Import/Export document입니다.

예를 들어, 이미 제공된 답변의 많은 부분을 다루는 Excel section이 있습니다.

또 다른 유용한 팁은 R 도움말 검색 시스템을 사용해 보는 것입니다. 예를 들어,은 R 프롬프트에서 다음 중 하나를 수행하십시오

> ??xls 
> ??excel 

편집 : BTW, ??xlshelp.search("xls")의 약자입니다.

+0

1, 덕분에 지금은 R을 사용하여 시작하는 것, 알 수없는 이유로 사실,이 문서에 나를 가리키는, 나는 옥타브를 향한 경향, 그리고 R.에 집중하지 않았다 그러나 ;-) ... – Alphaneo

1

가장 쉬운 방법은 데이터를 CSV 파일 형태로 저장 한 다음 read.csv()을 사용하여 데이터를 읽는 것입니다. 데이터를 읽을 때 R은 문자열을 읽고 요인으로 변환합니다. 하위 집합, 데이터 등을 만들려고하면이 문제가 발생할 수 있습니다.

네이티브 Excel 파일로 읽으려면 RODBC 패키지를 사용할 수 있습니다.

library('RODBC') 
yourData <- sqlFetch(odbcConnectExcel("yourData.xls"), 
    sqtable = "nameOfSheet", 
    na.strings = "NA", 
    as.is = TRUE)      
odbcCloseAll() 
1

Windows의 경우 훨씬 간단한 솔루션은 xlsReadWrite 패키지를 사용하는 것입니다. Perl을 사용할 필요가 없습니다. R 패키지로 설치하면 Excel 파일을 읽고 마음에들 수 있습니다.

+0

그러나 오픈 소스도 휴대용도 아닙니다. –

+0

+1 @Rob, 고마워. – Alphaneo

1

이제 우리는 read.csv 또는 read.table을 사용할 수 있습니다.예를 들어

df = read.csv("~/data/demo.csv",header = TRUE) 
관련 문제