2016-09-08 1 views
0

문자열의 모든 "€"를 "[euro]"로 바꾸려고합니다. 이제이 문자열에서 € -symbol을 바꾸는 데 문제가 있습니다.

file.col.name <- gsub("€","[euro]", file.col.name, fixed = TRUE) 

가 지금은 CSV 파일에서 열 이름을 통해 반복하고 갑자기 내가 문자열 "총 €"에 문제가 완벽하게 잘 작동합니다. 다른 특수 문자 (# ,?)는 작동하지만 € 기호는 인식되지 않습니다.

grep("€",file.column.name) 

는 0 반환하고 내가 마지막 문자를 추출 할 경우 € "을"인쇄 있지만

print(lastletter(file.column.name) == "€") 

반환 FALSE. (lastletter는 문자열의 마지막 문자를 추출하는 함수 일뿐입니다.)

왜 그런 일이 일어날 지 아이디어를 가지고 있습니까? "file.column.name"의 클래스를 확인하고 "character"를 반환하고 문자로 다시 변환하려고 시도했지만 도움이되지 않았습니다.

감사합니다.

+0

재현 가능한 예를 제공해주십시오. 'DF <- 아이리스; 이름 (DF) [1] <- "총 €"; grep ("€", 이름 (DF))'. 또한 운영 체제마다 다를 수 있으므로 시스템 정보를 공유하십시오. – Roland

+0

불행히도이 문제는 재현 할 수 없으며이 파일에서만 발생합니다. Windows 10 및 R studio 버전 0.99.893을 사용하고 있습니다. – mariego

답변

1

인코딩이 혼합되어있을 수 있습니다. 파일의 인코딩을 확인한 다음 fileEncoding="…"을 인자로 사용하여 read.csv에 적절한 인코딩을 추가합니다.

Unix/Linux에서 작업하는 경우 file 유틸리티가 텍스트 파일의 인코딩을 알려줍니다. 그렇지 않으면 편집기에서 파일의 인코딩을 표시해야합니다.

일반적인 인코딩은 UTF-8, ISO-8859-15 및 windows-1252입니다. fileEncoding의 값으로 "UTF-8", "windows-1252""latin-9"을 시도해보십시오 (후자는 R의 설명서에 따라 ISO-8859-15의 이식 가능한 이름 임).

+0

감사합니다. 어떻게 파일 인코딩을 찾을 수 있습니까? 파일에서 모든 속성을 제거했지만 변경되지 않았습니다. – mariego

+0

인터넷 검색을 시도해 보셨습니까? (나는 무례하기를 원하지 않지만 파일 인코딩을 감지하는 것은 다른 질문이다. [질문이있다] [Stack Overflow]에 관한 주제가 아닐지라도 (http://stackoverflow.com/questions/3710374/ get-encoding-of-a-file-in-windows).) –

+0

미안하지만, 어떻게 든 R로 검사해야한다고 생각했기 때문에 "ANSI"로 인코딩되었고 read.csv에 encoding = "ANSI" 성공하지 못했습니다. 또한 다른 표준에서 파일을 저장하려고했으나 이로 인해 파일이 더 나 빠졌다. 어떤 인코딩을 시도 할 수 있습니까? – mariego

관련 문제