선생님, 구분자 기호 넣어서 했더니, dta로 잘 변환되었습니다. 그런데, txt 파일안에 가다, 가나 이런 한글이 있는데, 모두 깨져서 나옵니다. 인코딩을 코드에 넣었는데도 그렇습니다. 해결 방법이 있을까요~? *txt->dta foreach f in `filelist' { import delimited "2010년_가구_가다_1k.txt", delimiter("^") encoding(EUC_KR) clear save "C:\Users\sm11\Desktop\2022\data\data_2010\dta\10_`f'.dta", replace }
혹시 EUR_KR 오타 아닌가요? EUC-KR로 수정 해 보시고, 그래도 안되시면, 메뉴에서 import delimited 직접 열어서 한개 파일만 테스트로 "텍스트 인코딩"의 메뉴들 중에서 적절한 것으로 선택하면서 봐야 할 것 같습니다. EUC-KR 말고 한글 관련 인코딩으로... 그리고 적어주신 코드에서 import에서는 반복문이 없는데 확인 해 보서야 할 것 같습니다. 파일명 부분을 "`f'"로 수정하셔야 할 것 같고 15:17 부분 보시면 import와 save 사이에 파일 확장자 빼주는 코드 있는데 추가 해 주시면 좋을 것 같습니다. 적어주신 코드로 하면 .txt 가 파일명 뒤에 붙어서요. local f = subinstr("`f'"), ".txt", "", .) 추가 하시면 됩니다. 작업 하시면서 또 안되는 부분 있으면 댓글 남겨주세요~ :D
아래와 같이 utf-8로 하니 잘 되었습니다. 감사합니다~ foreach f in `filelist'{ import delimited "`f'", delimiter("^") encoding(UTF-8) clear local f = subinstr("`f'", ".txt", "", .) local f = subinstr("`f'", "`statname'", "", .) save "C:\Users\sm11\Desktop\2022\data\data_2010\dta_test\\`f'.dta", replace }
선생님, 좋은 영상 감사합니다~! 선생님께서 코드설명해주신대로 따라해보니, txt->dta로 변환은 되는데, 하나하나 열어보니, 구분자가 ^ 인데 처리를 해주지 못해서 글자가 깨져있습니다. 통으로 들어와 있어요. 이런 경우, 어떻게 처리를 해줘야 할까요? 그리고, 변환된 dta를 모두 합치려니(append) 너무 용량이 큰지 계속 오류가 납니다. 제 데이터가 1k/500m/100m 이런식으로 나눠져있는데, 특정 단위로 끝나는 dta만 합치려면 어떻게 코드를 짜야하는지 문의드립니다. 답변 미리 감사드리며...꾸벅~
댓글이 삭제되서 지워졌나 했는데 답변 드린 내용 보셨군요. 구분자 처리는 delimiter 옵션에서 지정할 수 있습니다. Import delimited “파일명.txt”, delimiter(“^”) 와 같이 뒤쪽 옵션에서 구분자를 따옴표 안에 넣어주세요. 다 합쳤을 때 용량이 어느정도라서 오류가 날까요? 특정 파일 용량 기준으로 합치는 Stata코드는 잘 모르겠습니다. 저라면 용량별로 불러오기보다는 용량에 따라 윈도우 탐색기에서 소팅 하고 각각 다른 폴더로 옮기고 각 용량별 폴더에서 작업을 할 것 같습니다. 파일 갯수가 어느정도일지 모르겠지만 가끔은 이런 수작업이 조금 더 빠를 것 같기도 하고요…^^; (찾아보진 않았지만) 파이썬으로 용량별로 파일을 분류하는 코드가 있을 것도 같습니다. 만약 용량별로 데이터 건수가 정확하게 (또는 어느정도 근사치로) 구분된다면 데이터를 불러오면서 해당 건수의 데이터 파일은 append하라고 조건문을 줄 수도 있을 것 같지만, 모든 것을 열어보고 아니면 pass 맞으면 작업하고 하는 방식이라 효율적일 것 같지는 않습니다. 궁금하진 점이 해결 되었을까요? 혹시 더 질문하실 부분 있으시면 댓글 남겨주세요. 감사합니다~~! :D
@@2thedata 아래와 같이 돌려서 파일이 생성되긴했는데, obs수가 맞지 않습니다 ㅜㅜ *txt->csv foreach f in `filelist'{ import delimited "`f'", delimiter("^") encoding(UTF-8) clear local f = subinstr("`f'", ".txt", "", .) local f = subinstr("`f'", "`statname'", "", .) save "C:\Users\ssm11\Desktop\2022\data\data_2010\csv\10_`f'.csv", replace } export delimited using "10_total.csv", quote unicode convertfile "10_total.csv" "test_f.csv", dstencoding(Korean)
@@신상미-v7t 왠지 아래 부분이 문제될 것 같습니다. --- save "C:\Users\ssm11\Desktop\2022\data\data_2010\csv\10_`f'.csv", replace --- save는 Stata의 데이터포맷인 dta 파일로 저장하는 명령어이고, csv 파일로 저장하고 싶으시다면 export 명령어를 사용하셔야 합니다. 파일명 지정하는 쪽이 너무 길어서 working directory 안에 작업 대상 파일도 있다고 생각하고 설정하고 foreach 문 아래쪽 코드를 수정해 보았는데 실행해 보시고 결과 알려주세요~^^ cd "C:\Users\ssm11\Desktop\2022\data\data_2010\csv" foreach f in `filelist'{ import delimited "`f'", delimiter("^") encoding(UTF-8) clear local f = subinstr("`f'", ".txt", "", .) local f = subinstr("`f'", "`statname'", "", .) export delimited using "10_`f'.csv", quote unicode convertfile "10_`f'.csv" "10_`f'.csv", dstencoding(Korean) }
안녕하세요~ 저도 처음 보는 메시지라서 구글링을 해보니 아래 답변이 도움이 될 것 같습니다. ko-kr.facebook.com/groups/STATA.KOREA/permalink/1870020369681968/ 요약하면, 명령어 옵션에 encoding(euc-kr) 을 넣으라는 것이고, 또는, 파일-불러오기-텍스트데이터를 통해 대화상자의 텍스트 인코딩 란에서 EUC-KR을 선택할 수도 있습니다. 문제가 해결 되길 바라며, 혹시 해결이 안되었으면 더 찾아보도록 하겠습니다. 댓글 남겨주셔서 감사합니다 :D
안녕하세요 영상을 정말 잘 보고 있습니다. 저는 현재 공매도와 ,ESG보고서를 이용한 분석을 진행하고 있는데요 공매도 데이터란 하루 단위로 바뀌는 데이터고 ESG보고서는 1년에 한번 작업하는 데이터 입니다, 이렇게 하루씩 값이 다른 데이터와 일년에 한번 나오는데이터를 빈도분석이나 기술통계 하고싶을경우 어떤 방법이 좋은지 알려주신다면 정말 감사하겠습니다. 올려주시는 모든 영상은 제게 큰 도움이 되며 보면서 열심히 하고있습니다. 정말 감사합니다.
안녕하세요~ 공매도 데이터와 ESG보고서의 데이터를 merge하여 어떤 분석을 하신다는 것일까요? 빈도분석이나 기술통계는 "tab 변수"나 "sum 변수" 명령어를 통해 수행하시면 간단히 확인하실 수 있습니다. 예를들어 컬럼에 공매도종목명(stock_id)이 있다고 했을 때 tab stock_id // 종목별 빈도 확인 공매도금액(short_price)이 있다고 했을 때 sum short_price // 공매도 금액 기술 통계 와 같습니다. 다만, 제가 데이터의 형태를 전혀 보지 않고 단순히 답변해 드린 것이라, 갖고 계신 데이터에 해당 명령어를 바로 수행했을 때 원하는 결과를 얻지 못하실 수 있습니다. 연구하시는 분인지, 현업에서 매일(?) 리포트를 작성하시는 분인지 등 어떤 목적으로 주식 데이터 처리를 하시는지 알려주시면 조금 더 구체적인 답변을 드릴 수 있을 것 같습니다. 추가 질문 있으시면 댓글이나 메일 2thedata@gmail.com 남겨주시면 확인해보고 답변 드리겠습니다. 영상 시청 해 주셔서 감사드립니다 :D
안녕하세요. 본 영상은 데이터 전처리 과정들의 실제 모습을 보여드리기 위해 + 전처리에 사용되는 일부 코드들을 소개해드리기 위해 만들었습니다. 데이터는 영상 처음에 말씀드린 것 처럼, 해당 데이터는 KRX에서 구매한 데이터 입니다. 그러나 연습 용도라고 하시면, 아래 사이트에서 체크박스 선택을 하시고 샘플 보기를 하신 다음에 나온 항목들을 복사-붙여넣기 하시면 동일한 형태의 데이터를 얻으실 수 있습니다. data.krx.co.kr/contents/MDC/DATA/datasale/index.cmd?viewNm=MDCDATA003 혹시 도움이 필요하신 부분이 구체적으로 어떤 것인지 말씀해 주시면 다시 댓글 남겨드리도록 하겠습니다. 감사합니다! :D
안녕하세요. fs 명령어가 설치되지 않은 것으로 보입니다. 명령문 command 창에 ssc install fs 라고 입력하시고 다시 fs 명령어 해 보시면 될 것 같습니다. help fs 와 같이 입력하여 도움말이 잘 나오는지를 보고 명령어가 잘 설치 되었는지 확인할 수 있습니다. 혹시 안되시면 댓글로 알려주세요. 시청해 주셔서 감사합니다!🙂
좋네요. 실무적인 스킬을 많이 알아갈 수 있네요. 두고두고 복습할 영상인것 같습니다. 좋은 영상 남겨주셔서 감사합니다!
감사합니다. 앞으로도 좋은 영상 제작하겠습니다! :D
선생님, 구분자 기호 넣어서 했더니, dta로 잘 변환되었습니다. 그런데, txt 파일안에 가다, 가나 이런 한글이 있는데, 모두 깨져서 나옵니다. 인코딩을 코드에 넣었는데도 그렇습니다. 해결 방법이 있을까요~?
*txt->dta
foreach f in `filelist' {
import delimited "2010년_가구_가다_1k.txt", delimiter("^") encoding(EUC_KR) clear
save "C:\Users\sm11\Desktop\2022\data\data_2010\dta\10_`f'.dta", replace
}
혹시 EUR_KR 오타 아닌가요? EUC-KR로 수정 해 보시고, 그래도 안되시면, 메뉴에서 import delimited 직접 열어서 한개 파일만 테스트로 "텍스트 인코딩"의 메뉴들 중에서 적절한 것으로 선택하면서 봐야 할 것 같습니다. EUC-KR 말고 한글 관련 인코딩으로...
그리고 적어주신 코드에서 import에서는 반복문이 없는데 확인 해 보서야 할 것 같습니다. 파일명 부분을
"`f'"로 수정하셔야 할 것 같고
15:17 부분 보시면 import와 save 사이에 파일 확장자 빼주는 코드 있는데 추가 해 주시면 좋을 것 같습니다. 적어주신 코드로 하면 .txt 가 파일명 뒤에 붙어서요.
local f = subinstr("`f'"), ".txt", "", .)
추가 하시면 됩니다.
작업 하시면서 또 안되는 부분 있으면 댓글 남겨주세요~ :D
아래와 같이 utf-8로 하니 잘 되었습니다. 감사합니다~
foreach f in `filelist'{
import delimited "`f'", delimiter("^") encoding(UTF-8) clear
local f = subinstr("`f'", ".txt", "", .)
local f = subinstr("`f'", "`statname'", "", .)
save "C:\Users\sm11\Desktop\2022\data\data_2010\dta_test\\`f'.dta", replace
}
감사합니다 :)
감사합니다!🙂
매우 큰 도움이 됩니다:) 감사합니다. 열심히 연습해야겠네요 ㅎㅎ
앞으로도 도움이 될 만한 영상 제작해서 올리도록 하겠습니다. 감사합니다! :D
선생님, 좋은 영상 감사합니다~! 선생님께서 코드설명해주신대로 따라해보니, txt->dta로 변환은 되는데, 하나하나 열어보니, 구분자가 ^ 인데 처리를 해주지 못해서 글자가 깨져있습니다. 통으로 들어와 있어요. 이런 경우, 어떻게 처리를 해줘야 할까요? 그리고, 변환된 dta를 모두 합치려니(append) 너무 용량이 큰지 계속 오류가 납니다. 제 데이터가 1k/500m/100m 이런식으로 나눠져있는데, 특정 단위로 끝나는 dta만 합치려면 어떻게 코드를 짜야하는지 문의드립니다. 답변 미리 감사드리며...꾸벅~
댓글이 삭제되서 지워졌나 했는데 답변 드린 내용 보셨군요. 구분자 처리는 delimiter 옵션에서 지정할 수 있습니다.
Import delimited “파일명.txt”, delimiter(“^”)
와 같이 뒤쪽 옵션에서 구분자를 따옴표 안에 넣어주세요.
다 합쳤을 때 용량이 어느정도라서 오류가 날까요? 특정 파일 용량 기준으로 합치는 Stata코드는 잘 모르겠습니다. 저라면 용량별로 불러오기보다는 용량에 따라 윈도우 탐색기에서 소팅 하고 각각 다른 폴더로 옮기고 각 용량별 폴더에서 작업을 할 것 같습니다. 파일 갯수가 어느정도일지 모르겠지만 가끔은 이런 수작업이 조금 더 빠를 것 같기도 하고요…^^; (찾아보진 않았지만) 파이썬으로 용량별로 파일을 분류하는 코드가 있을 것도 같습니다.
만약 용량별로 데이터 건수가 정확하게 (또는 어느정도 근사치로) 구분된다면 데이터를 불러오면서 해당 건수의 데이터 파일은 append하라고 조건문을 줄 수도 있을 것 같지만, 모든 것을 열어보고 아니면 pass 맞으면 작업하고 하는 방식이라 효율적일 것 같지는 않습니다. 궁금하진 점이 해결 되었을까요? 혹시 더 질문하실 부분 있으시면 댓글 남겨주세요. 감사합니다~~! :D
@@2thedata 선생님 최곱니다~! ^^b. 지금 핸드폰으로 읽고 있어서, 실행은 나중에 해보겠지만, 답글만으로도 신뢰가 느껴집니다. 긴 장문의 해결법 남겨주셔서 감사합니다~! 새해 복 많이 받으세요~ ㅎㅎㅎ:-)
구독 좋아요 버튼 눌렀습니다 감사합니다
감사합니다. 앞으로도 많은 관심 부탁드립니다! :D
선생님, txt를 csv파일로 export하려는데, 선생님 코드대로 따라해보니 export는 모두 되었으나, 글씨가 모두 깨져있습니다. 인코딩을 encoding(UTF-8), EUC-KR로 해도 모두 깨져있는데, 해결 방법이 있을까요?
저도 예전에 비슷한 문제를 겪었는데 아래 코드 한번 해 보시겠어요?
export delimited using "파일명.csv", quote
unicode convertfile "파일명.csv" "test_f.csv", dstencoding(Korean)
@@2thedata 아래와 같이 돌려서 파일이 생성되긴했는데, obs수가 맞지 않습니다 ㅜㅜ
*txt->csv
foreach f in `filelist'{
import delimited "`f'", delimiter("^") encoding(UTF-8) clear
local f = subinstr("`f'", ".txt", "", .)
local f = subinstr("`f'", "`statname'", "", .)
save "C:\Users\ssm11\Desktop\2022\data\data_2010\csv\10_`f'.csv", replace
}
export delimited using "10_total.csv", quote
unicode convertfile "10_total.csv" "test_f.csv", dstencoding(Korean)
@@신상미-v7t 왠지 아래 부분이 문제될 것 같습니다.
---
save "C:\Users\ssm11\Desktop\2022\data\data_2010\csv\10_`f'.csv", replace
---
save는 Stata의 데이터포맷인 dta 파일로 저장하는 명령어이고, csv 파일로 저장하고 싶으시다면 export 명령어를 사용하셔야 합니다.
파일명 지정하는 쪽이 너무 길어서 working directory 안에 작업 대상 파일도 있다고 생각하고 설정하고 foreach 문 아래쪽 코드를 수정해 보았는데 실행해 보시고 결과 알려주세요~^^
cd "C:\Users\ssm11\Desktop\2022\data\data_2010\csv"
foreach f in `filelist'{
import delimited "`f'", delimiter("^") encoding(UTF-8) clear
local f = subinstr("`f'", ".txt", "", .)
local f = subinstr("`f'", "`statname'", "", .)
export delimited using "10_`f'.csv", quote
unicode convertfile "10_`f'.csv" "10_`f'.csv", dstencoding(Korean)
}
@@2thedata 디렉토리 지정하고 포이치문 실행하면 오류는 뜨지않지만, 아무런 파일이 생성되지 않았씁니다.어흑 ㅜ
지정하신 디렉토리에 작업하실 txt 파일이 들어가 있고
for 문 실행하기 전에 local로 filelist 라는 것을 만드셔서 이거까지 한꺼번에 실행이 되어야 할 것 같습니다. do-file에서 local문까지 한번에 블록잡고 실행해 보세요. 결과 알려주세요. ^^
안녕하세요, STATA에 관련된 영상 잘 보고 있습니다. 근데 csv파일을 열려고 하는데 파일을 가져오기도 전에 계속 "stacktrace not available"이라고 계속 문구가 뜨는데 어떻게 해야 csv파일을 가져올 수 있나요?
안녕하세요~ 저도 처음 보는 메시지라서 구글링을 해보니 아래 답변이 도움이 될 것 같습니다.
ko-kr.facebook.com/groups/STATA.KOREA/permalink/1870020369681968/
요약하면, 명령어 옵션에
encoding(euc-kr)
을 넣으라는 것이고,
또는, 파일-불러오기-텍스트데이터를 통해 대화상자의 텍스트 인코딩 란에서 EUC-KR을 선택할 수도 있습니다.
문제가 해결 되길 바라며, 혹시 해결이 안되었으면 더 찾아보도록 하겠습니다. 댓글 남겨주셔서 감사합니다 :D
안녕하세요 영상을 정말 잘 보고 있습니다. 저는 현재 공매도와 ,ESG보고서를 이용한 분석을 진행하고 있는데요 공매도 데이터란 하루 단위로 바뀌는 데이터고 ESG보고서는 1년에 한번 작업하는 데이터 입니다, 이렇게 하루씩 값이 다른 데이터와 일년에 한번 나오는데이터를 빈도분석이나 기술통계 하고싶을경우 어떤 방법이 좋은지 알려주신다면 정말 감사하겠습니다.
올려주시는 모든 영상은 제게 큰 도움이 되며 보면서 열심히 하고있습니다. 정말 감사합니다.
안녕하세요~ 공매도 데이터와 ESG보고서의 데이터를 merge하여 어떤 분석을 하신다는 것일까요? 빈도분석이나 기술통계는 "tab 변수"나 "sum 변수" 명령어를 통해 수행하시면 간단히 확인하실 수 있습니다. 예를들어 컬럼에 공매도종목명(stock_id)이 있다고 했을 때
tab stock_id // 종목별 빈도 확인
공매도금액(short_price)이 있다고 했을 때
sum short_price // 공매도 금액 기술 통계
와 같습니다.
다만, 제가 데이터의 형태를 전혀 보지 않고 단순히 답변해 드린 것이라, 갖고 계신 데이터에 해당 명령어를 바로 수행했을 때 원하는 결과를 얻지 못하실 수 있습니다.
연구하시는 분인지, 현업에서 매일(?) 리포트를 작성하시는 분인지 등 어떤 목적으로 주식 데이터 처리를 하시는지 알려주시면 조금 더 구체적인 답변을 드릴 수 있을 것 같습니다. 추가 질문 있으시면 댓글이나 메일 2thedata@gmail.com 남겨주시면 확인해보고 답변 드리겠습니다.
영상 시청 해 주셔서 감사드립니다 :D
STATA로 패널데이타분석 가능한가요?
Stata의 기능으로 패널분석 가능한지 물으신거일까요? Stata에는 다양한 패널 분석 명령어가 있어서 제가 알기로 왠만한 분석은 가능한 것으로 알고 있습니다. 기본적으로 xtreg를 사용하고 옵션을 주어 고정효과 확률효과 등등으로도 분석 가능합니다 :D
안녕하세요 선생님 좋은 영상 남겨주셔서 감사합니다. 현재 제가 임의의 데이터를 받아서 연습중에 있습니다 그런데 그 과정에서 csv->dta 과정중 varlist required 이란 오류가 떴는데 혹시 해결방법이 없는지 궁금합니다
앗 해결했습니다 많은 도움이 되고 있습니다 감사합니다
아침에 확인 하고 찾아보고 있었는데 해결 하셨다니 다행입니다. ^^ for loop 하시면서 생긴 오류인가요-? 인터넷 찾아보니 varlist 반복문에서 문제 생겨서 해결한 내용이네요…
자료는 어디서 다운받는지 알려주시면 따라갈것 같은데요ㅠ
안녕하세요. 본 영상은 데이터 전처리 과정들의 실제 모습을 보여드리기 위해 + 전처리에 사용되는 일부 코드들을 소개해드리기 위해 만들었습니다.
데이터는 영상 처음에 말씀드린 것 처럼, 해당 데이터는 KRX에서 구매한 데이터 입니다. 그러나 연습 용도라고 하시면, 아래 사이트에서 체크박스 선택을 하시고 샘플 보기를 하신 다음에 나온 항목들을 복사-붙여넣기 하시면 동일한 형태의 데이터를 얻으실 수 있습니다.
data.krx.co.kr/contents/MDC/DATA/datasale/index.cmd?viewNm=MDCDATA003
혹시 도움이 필요하신 부분이 구체적으로 어떤 것인지 말씀해 주시면 다시 댓글 남겨드리도록 하겠습니다.
감사합니다! :D
안녕하세요. 독학으로 STATA 공부중인데 많은 도움이 되고 있습니다. 감사합니다. local 지정은 csv 파일이 dta로 변경되는데, fs*를 사용하면, ' command fs is unrecognized '에러가 발생하는데 해결방법이 있는지 궁금합니다.
안녕하세요. fs 명령어가 설치되지 않은 것으로 보입니다. 명령문 command 창에
ssc install fs
라고 입력하시고 다시 fs 명령어 해 보시면 될 것 같습니다.
help fs
와 같이 입력하여 도움말이 잘 나오는지를 보고 명령어가 잘 설치 되었는지 확인할 수 있습니다.
혹시 안되시면 댓글로 알려주세요. 시청해 주셔서 감사합니다!🙂
@@2thedata fs설치 후 고용데이터 10년 자료를 변환했습니다. 감사합니다.