2012-07-31 3 views
3

문제 : PATH의 스펙 R 패키지를 사용하는 경우 GDATA

GDATA

를 사용하여 R 내로 .XLS를 읽을 때 도우미가 실패 I가 내가 내가 사용 그렇게 할 수 있어요 R.로 읽어 싶습니다 일부 .XLS gdata 패키지의 read.xls이지만 도우미 함수 sheetNamessheetCount이 실패합니다. 내가 잘못하고있는 것을 이해하고 싶습니다. 그래서 매우 유용한 것처럼 사용할 수 있습니다.

firstdata <- read.xls(fp, sheet=2) 

를하고 난 내 데이터가 ... : 나는 시트의 구조를 알고, 내 의도 된 데이터 시트에서를 가리 수 있어요 때

require(gdata) 
fp <- file.path('~/data/first.xls') 

는 펄 스크립트는 잘 실행 firstdata에 있습니다.

그러나 동일한 시트에서는 도우미가 실패합니다.

자신이 엑셀에서 .xls를 열고, 알아 낸 다음 read.xls(fp, sheet=N)을 사용하여 R에로드하는 것이 재난이 아닌 이상적인 방법은 아닙니다. 특히

, 시트 내 자신이 아니며, 내가 read.xls()sheet=N을 설정하기 전에 내가 그들에 대한 정보가 필요, 도우미 기능 sheetNamessheetCount 매우 유용 할 것이다, 그러나 그들은 실패 - 왜?

sheetCount(fp) 

> sheetNames(fp) 
Error in read.table(tc, as.is = TRUE, header = FALSE) : 
    no lines available in input 
In addition: Warning message: 
running command ''/usr/bin/perl'  '~/R/wd/raRpackages/gdata/perl/sheetNames.pl' '~/data/first.xls'' had status 2 
Unable to open file '~/data/first.xls'. 

과 :

fp2 <- file.path("/Users/ricardo/data/first.xls") 
sheetcount(fp2) 
[1] 13 

답변

3

그것은 ~ ISN과 같습니다

> sheetCount(fp) 
Error in read.table(tc, as.is = TRUE, header = FALSE) : 
    no lines available in input 
In addition: Warning message: 
running command ''/usr/bin/perl'  '~/R/wd/raRpackages/gdata/perl/sheetCount.pl' '~/data/first.xls'' had status 2 
Unable to open file '~/data/first.xls'. 

는 시시한 조금 후에, 나는 (아주 우연히)의 전체 경로를 사용하여이 문제를 해결 발견 홈 디렉토리로 확장되지 않습니다. 이 확장은 일반적으로 쉘에 의해 수행되므로 R은 그렇게하지 않을 것이고 perl은 그렇지 않을 것입니다.

대신 명시 적 경로 인 $HOME 또는 $ENV{HOME}을 Perl 프로그램에서 사용하십시오.

+0

+1 감사합니다. 그 문제를 해결합니다. 일반적으로 이러한 함정을 피하기 위해 명시적인 경로를 선호해야합니까? – ricardo

관련 문제