Tag Archives: 한글

[STATA 14] 깨진 한글 Label 살리기

이번에는 한국노동패널(KLIPS)를 이용하여 깨진 한글 레이블을 살려보자.

이번에 사용할 명령어는 “unicode”를 지원하는 STATA 버전 14부터 가능한 것으로 알고 있으니… 참고하자.

우선 한국노동연구원에서 KLIPS 자료를 다운받아 압축을 풀면 아래와 같다.

압축을 푼 뒤 아무자료나 STATA로 열어보면 열심히 타이핑된 Label이 모두 깨져 있는 것을 확인 할 수 있다. 처음 이 화면을 보면 정말… 충격과 공포…가….ㅠ

자 이제 인코딩이란 것을 하여 깨진 글자를 한글로 다시 맞추는 일을 해보자.

Step 1.

우선 로딩된 화면이 아무것도 나타나지 않도록 “clear” 명령을 써준다.

.clear

Step 2.

그 뒤 “cd” 명령어로 작업용 폴더를 설정해 준다

.cd “/Users/CharlieShin/Desktop/KLIPS/1-18차 무응답대체 데이터_20170417”

Step 3.

변환 할 언어 인코딩 설정 (대부분의 한글이 깨지는 경우는 euc-kr 이다)

.unicode encoding set euc-kr

Step 4.

이제 작업 폴더 안에 있는 모든 STATA 파일들 (.dta를 확장자로가진 모든 파일들)을 변환하도록 한다.

코드의 해석을 하자면 “모든 dta확장자를 가진 파일들을 euc-kr에서 utf-8형식으로 번역시켜라.” 정도?

.unicode translate *.dta, transutf8

약간의 시간이 흐르면

위와 같은 메시지가 뜬다.

빨간 글씨는 없는게 좋긴하겠지만…가끔 번역이 안되는 레이블이 한두개씩 있나보다.

아무튼 번역 안되는 레이블을 제외하고는 모두 번역이 되어 있으니 이제 파일을 열어보자.

이럴땐

.unicode translate *.dta, transutf8 invalid(ignore)

를 사용해주면 된다. Invalid한 레이블이 있을때 무시하라 라는 뜻이다.

아무튼 결과는 아래와 같다.

깔끔하게 번역 완료! ㅎ

[R] 맥OS에서 R을 사용하기 위한 몇가지 노력

1. 몇몇 패키지들은 .EXE파일로 되어 있어 윈도우에서만 작동가능하다.

이를 해결해 줄 수 있는 것이 XQuartz 이다.

예 – BEFORE)
>library(rgl)
Error: package or namespace load failed for ‘rgl’:
.onLoad failed in loadNamespace() for ‘rgl’, details:
call: dyn.load(file, DLLpath = DLLpath, …)
error: unable to load shared object ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rgl/libs/rgl.so’:

dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rgl/libs/rgl.so, 6): Library not loaded: /opt/X11/lib/libGLU.1.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rgl/libs/rgl.so
Reason: image not found

예 – AFTER)

> library(rgl)
> example(plot3d)

plot3d> open3d()
glX
1

plot3d> x <- sort(rnorm(1000))

plot3d> y <- rnorm(1000)

plot3d> z <- rnorm(1000) + atan2(x, y)

plot3d> plot3d(x, y, z, col = rainbow(1000))

 

2. .csv확장자 파일의 한글이 깨질 때

위와 같이 엑셀에서부터 깨지는 .csv 파일 대처법

빈 엑셀 파일을 불러 온 후 Data – From Text를 선택

원하는 데이터를 로딩

파일 오리진(File Origin)을 UTF-16이라던지 UTF-8이라던지 바꾸라는 말이 있지만 나의 데이터의 경우엔 “Korean (Windows, DOS)” 로 변경 시 제대로 한글이 나왔다.

이렇게~ 다음 누르고

Delimiters 에 “Comma”도 체크 후 “Finish”

“OK”

파일이 잘 인코딩 되어 나왔다.

원하는 이름으로 바꾸고 Save As

저장 형식은 UTF-16 Unicode Text (.txt)

 

이제 R스튜디오로 가보자

> excel1<-read.csv(“/저장폴더/example_studentlist.txt”, fileEncoding = “UTF-16”)
> excel1

헤더는 “.” 으로 구분되어 있고

컬럼은 “\t”로 구분되어 있다.

이를 해결하기 위해서는

> excel1<-read.csv(“/저장폴더/example_studentlist.txt”, header=T, sep=”\t”, fileEncoding = “UTF-16”)
> excel1

위와 같이 명령어를 더해준다.

(header=T –> Header True 즉 Header가 있다. 없다면 header=F)

(sep –> Separator를 설정)

R로 잘 불러와 졌다.

 

3. 보다 쉽게 한글 CSV 파일 불러오기

> list<-read.csv(“/저장폴더/example_studentlist.csv”, header=T, sep=”,”, fileEncoding = “euc-kr”)
> list

엑셀을 거치지 않고 인코딩만 바꿈으로서 로딩 완료!