2010-03-18 2 views
3

히브리어 열 이름을 사용하여 .txt 파일을 읽으려고했지만 성공하지 못했습니다. "히브리어"열 이름 (R)을 사용하여 read.table을 만드는 방법은 무엇입니까?

나는에 예제 파일 업로드 : http://www.talgalili.com/files/aa.txt

를 그리고 명령을 시도하고있다 :

X.....ª X...ª...... X...œ.... 
1  12   97   6 
2  123   354  44 
3  6   1   3 

대신 :

אחת שתיים שלוש 
12 97 6 
123 354 44 
6 1 3 

read.table("http://www.talgalili.com/files/aa.txt", header = T, sep = "\t") 

이 나를 반환을

내 출력 :

l10n_info() 

것은 :

$MBCS 
[1] FALSE 

$`UTF-8` 
[1] FALSE 

$`Latin-1` 
[1] TRUE 

$codepage 
[1] 1252 

그리고 위해 :

Sys.getlocale() 

것은 :

[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252" 

당신은 무엇을 시도하고 나에게 제안 할 수 있습니다 나를로드 할 수있게 변경하십시오. 전자 파일을 올바르게?

Sys.setlocale("LC_ALL", "en_US.UTF-8") 

또는이 :

이 시도하는 동안

V1 
1 ? 
Warning messages: 
1: In read.table("http://www.talgalili.com/files/aa.txt", fileEncoding = "iso8859-8") : 
    invalid input found on input connection 'http://www.talgalili.com/files/aa.txt' 
2: In read.table("http://www.talgalili.com/files/aa.txt", fileEncoding = "iso8859-8") : 
    incomplete final line found by readTableHeader on 'http://www.talgalili.com/files/aa.txt' 

:

업데이트 :

read.table("http://www.talgalili.com/files/aa.txt",fileEncoding ="iso8859-8") 

이 결과는 : 사용하려고 여기, 마지막으로

[1] "" 
Warning message: 
In Sys.setlocale("LC_ALL", "en_US.UTF-8") : 
    OS reports request to set locale to "en_US.UTF-8" cannot be honored 

>을 sessionInfo()

R version 2.10.1 (2009-12-14) 
i386-pc-mingw32 

locale: 
[1] LC_COLLATE=English_United States.1255 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C       
[5] LC_TIME=English_United States.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] tools_2.10.1 

어떤 제안이나 설명을 이해할 수있을 것이다 : 16,

Sys.setlocale("LC_ALL", "en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8") 

가져 오기 나에게이 있습니다.

최저

, 탈

+1

로케일 설정 방법을 알아 냈습니까? 나는 당신이'odfWeave'를 사용하기 위해 그것을 설정해야하는 것과 같은 문제에 직면하고있다. ... – Chase

답변

5

나는 iso8859-8의 값으로 read.table하는 매개 변수 fileEncoding를 전달하려고합니다.

iconvlist()을 사용하면 지원되는 인코딩의 영문자 목록을 가져올 수 있습니다. 내가 보았던 것처럼 here 히브리어는 ISO 8859의 8 부분이어야합니다.

+1

파일도 UTF-8로 나에게 잘 읽는다. 그래서 옵션도 될 수있다. R의 파일 인코딩은 항상 저에게있어 시행 착오적이었습니다. 내 Sys.getlocale() : [1] "은 en_US.UTF-8 /은 en_US.UTF-8/C/C /은 en_US.UTF-8 /은 en_US.UTF-8"여기에 같은 – kmm

+0

, 그것을 작동합니다. 내가 가지고있는 Sys.getlocale() en_US.UTF-8 --- $ MBCS [1] TRUE --- $'UTF-8' [1] TRUE --- $'Latin-1' [1] FALSE –

+0

친애하는 gd047 , Kevin과 Thrawn. 내가 gd047 솔루션을 시도하고 구성으로 변경하고 그렇게하는 데 실패했습니다. 나는 그것을 반영하기 위해 주요 질문을 업데이트했다. 어떤 제안이라도 가장 환영받을 것입니다. 감사! –

0

@George Donats 대답을 시도했지만 작동하지 못했습니다. 그래서 나는 나중에 참조 할 수있는 또 다른 가능성을 제시하고자했다.

파일을 온라인으로 찾을 수 없어서 TAB을 분리기로 사용하는 것과 같은 txt 파일을 다시 만들었습니다. 연결을 사용하여 히브리어 텍스트로 R에로드 할 수 있습니다. 그것은 아래에 설명된다 :

이 파일 입력으로 죄수 변수를 사용하여, 코드와 R에로드 할 수있는 것보다
con<-file("aa.txt",open="r",encoding="iso8859-8") ##Open a read-only connection with encoding fit for Hebrew (iso8859-8) 

, 코드는 여기에 설명 : 데이터 변수로

data<-read.table(con,sep="\t",header=TRUE) 

브라우징은 다음을 제공합니다 검색 결과 :

str(data) 

'data.frame': 3 obs. of 3 variables: 
$ אחת : int 6 44 3 
$ שתיים: int 97 354 1 
$ שלוש : int 12 123 6 

> data$אחת 
[1] 6 44 3 
+0

@ George-Dontas가 ​​정확히 어떻게 접근하지 않았습니까? 오류 메시지와 플랫폼 정보를 게시하십시오. – smci

+0

@smci 그것은 전에 wgile이었고 나는 정말로 오류 메시지를 기억할 수 없다. 그러나 나는 위에 설명 된 프로세스로 작동하도록 관리했습니다. 오류 메시지를 제공 할 것입니다. 다음 번에. – dof1985

+0

probs 없음. R에서의이 플랫폼 지원은 무엇보다 희미하고 오류 메시지는 매우 나쁜 품질입니다. 몇 가지 버그를 제기하고 그 빌어 먹을 것을 더 강력하게 만드는 것이 좋을 것입니다. – smci

관련 문제