r 13

코로나 바이러스 현황 보기

코로나19가 세상무서운줄 모르고 빠르게 확진자가 나타나고 있다. 잠잠해질줄 알았는데 잠잠해지질 않네... 다들 조심하시길 바라며.. 오늘 예전부터 작성하려고 했던 ggplot을 이용한 그래프그리기의 자료로 해당 자료를 활용하고자 한다. csv파일로 갖고 있었으면 좋겠지만, 없으니 질병관리본부 현황판에 아침마다 업데이트 되는 자료를 활용하기로 한다. 웹페이지 내에서 테이블을 바로 뗘오는... 단순무식한 방법으로다가.. library(XML) library(data.table) library(dplyr) library(ggplot2) library(ggthemes) 질병관리본부에서 만든 0시 기준 자료다.. 실시간으로 반영하지는 않는것 같다. 이 표를 고대로 R로 따온다. #코로나바이러스감영증-19 웹페이지..

gsub_원하는 단어만 찾아바꾸기_R

R을 뭐 전문적으로 막 쓰는게 아니라 그냥 여지껏 배운것들을 잊어버리지 않기 위해.. 딱.. 엑셀 정도의 수준으로 유지하고 있는데, 가끔씩 자주 썼지만, 잘 잊어버리는 내용들을 정리하고자 한다. 비전공자로써 처음보면 익히는것도 싫고, 뭐에 쓰나 싶을 정도로 이상했던 "정규표현식" 당장에 필요가 없고, 필요할때마다 googling을 통해 그때 그때 썼는데.. 이제 "정규표현식"의 필요성을 점차 느끼고 있다. 내가 잘 쓰는 수식중에 하나는 gsub 이다. 찾아바꾸기... df$temp=gsub("변경전","변경후",df$temp) 위의 기능을 썼을때, 일반적일때는 크게 상관이 없지만, 예를 들어 ["사과", "사과나무"] 등의 요소가 있어서 "사과"를 배로 바꾸고자 하면 df=c("사과","사과나무") df..

복수응답 카운팅하기

설문조사결과를 받다보면 복수응답으로 응답을 해서 코딩 시 한개의 셀안에 1,2,3 등으로 코딩해주는 곳이 가끔 있다. raw data를 받고 참 난감했는데 잠깐 머리를 굴려보니 function 기능을 이용해서 한방에 카운팅까지 끝내는 방법을 찾고야 말았다. 역시 아쉬운 사람이 우물을 파는 것인가.. 1. str() 함수를 통해 해당 셀의 속성을 파악한 뒤, 2. character 로 속성을 바꿔준다. 3. ","를 기준으로 문자열을 분리 시켜주고..4. unlist 형태로 바꿔서..5. 내림차순으로 카운팅.. 이걸 코드로 바꿔버리면.. f=function(x){ x=as.character(x) #2 temp=strsplit(x, ",") #3 a=unlist(temp) #4 a=sort(table(a),..

경기도 지역 공업 현황

오랫만에 공공데이터 홈페이지 접속했다.. 요즘 모든것에 의욕이 꺾여서.. 아무것도 안하다가... 그냥 ... 한번 해봤다.. 경기도 데이터 드림 사이트에서 건저온 경기도 지역 공업 현황... 2018년 1월 11일 최종 수정 날짜니까..최신 정보가 있겠지... 먼저 공장 위치 먼저... 보면.. 각 시별로 공장 위치는.. 화성이 단연 압도적으로.. 9,453개의 공장이 등록되어 있었고 양주군은... 1개..? ... 정말일까... 의문이다.. 그 다음으로... 산업 단지별 기업 분포는.. Top 1,2,3 위를 제외하곤 다들 3자리 숫자의 기업체들이 있는 것으로 보아.. 저 Top 3 위의 산업단지에 대한 매리트가 엄청난 것 같다.. 혹은 거대 기업들로 인해 하청 기업들이 밀집해있을까? 그것까지는 나중에..

Stack over flow를 아세요 ?

R을 공부하게 되면서 알게된 사이트라면 facebook의 KRSG 와 또 하나인 Stack over flow 이다 .. 뭐 프로그래밍을 공부하시는 분들이라면 이미 알고 계시겠지만 정말 이거는 신세계.. 대한민국 네이버란 회사가 지식인 이란 컨텐츠를 만들었고, 전국민들의 백과사전이 되었다면.. stackoverflow는 프로그래머들의 백과사전이랄까.. 다양한 프로그래밍 언어들에 대한 질문들과 그에 대한 답변이 수두룩 금방금방 실시간으로 달린다.. 다만. 영어로 물어봐야하는데 그거야 뭐.. 번역기도 있고, 큰 문제는 되지 않다.무엇보다 가장 좋은 것은 실시간으로 답변이 달리는 것에 매우 좋은 점수를 주고 싶다. 그리고 전문가들이 답변을 달아주기 때문에 질문만 잘 작성하면 원하는 답을 금방 얻을 수 있는 것 ..

온갖 리뷰 2017.11.28

function() 만들기

지난번에 반복되는 코드를 축약시키는 function에 대해서 나름 정리한다고 정리하고... 사용하던 찰라.. 2017/11/09 - [실전 전투 R] - function() 을 찾다.. t.test 까지 포함한 function을 만들면 더 편하겠다라는 생각에 다시 구글링을 시작하였다... 지난 버전은 ddplyr로 평균과 표준편차를 구해서 error bar까지 그린 ggplot을 작성했는데 간단하게 생각하고 그냥 t.test 결과만 붙일 생각을 했는데... 안됩디다... 그러다가 찾은 패키지 .. "ggpurb" 세상 편하다... 결국 function의 코드도 대폭 줄일 수 있게 되었다. . f=function(x){ s=select(df3, c("region",x)) Spring=filter(s, re..

function() 을 찾다..

하다보면... 같은 코드를 같이 계속 쓰게 되는 경우가 발생한다... 게다가 그게 줄줄이 써야하는 경우라면... 너무 귀찮았는데.. 불편함과 귀찮음이 계속되니.. 배움이란것을 찾게되어.. function() 을 찾아 보게 되었다.. 말그대로 나만의 함수식을 만들어서 사용하는 것인데... 내가 지금 당장 간단히 필요한건.. 평균, 분산, 편차 그리고 ggplot 까지.. 물론 ddply 패키지를 써서 한번에 나오기는 하지만.. 그래도 사람인지라 더 편한걸 찾다보니... 정말 간단한 수식들이다.. 하지만 계속 타이핑 하다보면 손가락도 아프고 시간 아깝단 생각도 들고.. 해서 만들게 되었다.. function() 을... a=c(2,3,4,5,6,7,8,9,10) b=c(4,7,2,8,6,5,3,9,6,2) ..

2010~ 2017 오존 경보 발령 현황

공공데이터 포탈에서 open API 로 2010년 ~ 2017년 까지의 오존 경보 발령 현황을 수집하였다 생각보다 많은 데이터량이 아닌 1,043건.. 뉴스에선 더 많이 언급되는거 같은데... 뭔가 이상하다.. 잘못 모았나.. 연도별로 확실히 2016년도 부터 200건 이상 오존 경보가 발생되었는데.. 이상한건.. 2015년도... 왜 29건 밖에 없는지.. 주로 부산, 경남 등 남부 지역에서 많이 발생했고, 경기나 서울 지역에 대한 발생은 적게 되었다. 뭔가 누락이 된거 같은데.. 기분탓이겠지.. 실제로 발생지역에 따라 보면.. 경기, 서울 지역에 많은 빈도로 발생이 되었는데.. 15년도는 쏙 빠졌다.. 뭐.. 색깔이 헷갈리긴 하지만.. 2015년도 데이터가 현저하게 바닥을 기고 있는... 여튼.. 2..

R user Conference in Korea 2017

데이터 과학의 지평을 넓히다.. 얼마나 멋진 슬로건인가... 지난 10.28일 서울대학교에서 열린 R User Conference에 처음 참여 해봤다.. 처음 55,000원의 유료강의 였으나.. 빵빵한 후원사들 덕분에 .. free~ 무료로 참석.. 그간 관심이 있던 프로그램이었고.. 또 어떤 방식으로들 사용하나 너무나 궁금하였기에 배운다기 보단.. 그냥 구경하러 가자.. 라는 가벼운 마음으로 참석하였다.. 무료세미나여서 그런건지.. R에 대한 관심이 많은 거였는지.. 좁은 강의장에는 엄청난 사람들이 몰렸고.. 빈자리가 없어서 서서 들어야하는 상황이었음에도 다들 기대하는 눈빛이었다.. 총 3개의 파트.. 로 내가 궁금했던거는 트랙 1 . 통계적 데이터 분석 트랙 2. 분석 환경 구축과 패키지 개발 이었는..

온갖 리뷰 2017.11.02

공공데이터 open api _ R

공공데이터 open api 듣기는 많이 들었는데... 실제로는 api 호출법을 몰라서 어떻게 하는것인지 인터넷을 한참 찾아봤다... 다들 api를 호출해서 xml 형태를 data.frame으로 바꾸고 csv로 저장해서.... 비전공자인 나로써는 ... 이게 무슨 뚱딴지같은 밑도 끝도 없는 소리인가 했다.. 도대체가 모르겠다.. 결론은... 모르는대로 그냥 따라해보자 따라하다보면 눈에 익고 ... 뭐가 필요한지 알겠지... 요약하자면.. 1. api 키 발급. 2. 호출 3. xml parsing 4. data.frame 5. 저장! 이지만... 그 내용은 너무나 어렵다... ㅠ 예시화면을 같이 넣으면 좋으련만... 나는 그런 자세한건 작성을 못하니.... 아.. 코드라도 예쁘게 넣고 싶은데.. 그것조차 ..