R programming 10

복수응답 카운팅하기

설문조사결과를 받다보면 복수응답으로 응답을 해서 코딩 시 한개의 셀안에 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) ..

공공데이터 open api _ R

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

오산시 CCTV 현황

공공데이터 갖고 놀기 #1 오산시 CCTV 현황 (`17.05월 경기데이터드림 기준) 사실.. 단순히 오산시 CCTV 현황 뿐 아니라 동네별 112 혹은 119 신고 빈도를 합쳐서 CCTV 빈도와 신고율 등을 보고 싶었는데 그리고 신고 시간대까지.. 신고율에 대한 자료가 없다는걸 나중에 알아서.. 반쪽짜리 현황 그래프가 되어버렸다.. 아쉬워라.. 뭔가 신고빈도 같은걸 공개해버리면 동네 소문이 안좋아지는걸 우려해서 그런가.. 여튼 일단 오산시내의 지역별 CCTV 현황은 다음과 같다 궐동, 오산동 수청동, 원동 까지 CCTV가 가장 많이 설치 되어 있는것을 알 수 있었다. 동네별 주민 수, 동네 크기, 상업지역, 주거지역 등이 반영 된 CCTV 현황같은데.. 방금 작성하다 생각난 거니 다음엔 관련 데이터가 ..

googleVIS()로 모션차트(motionchart) 그리기

install.package("googleVIS") data set 의 구성은 Product/ Year/ Location/ Price test=givsMotionChart(data, idvar="Location", timevar="Year")plot(test) 하면 웹페이지가 짠! 실행결과http://127.0.0.1:17278/custom/googleVis/MotionChartID40ece577f03.html 이제 문제는.. Category 해서 모션차트를 그릴 수 있는지.. 알아볼 필요가 있네... 참조 R라뷰 - 서진수 저

#dplyr 사용하여 평균그래프 with errorbar 그리기

약 10,000건의 데이터를 갖고 있다.. 많으면 많고.. 적으면 적은 데이터.. 조건도 다양하다 국가별, 연령별, 지역별, 아직은 많은 것을 spss에 의존하여 원하는 입맛대로 다루지만 뭔가 아쉬워.. R로도 접근하려고 한다. #필요 패키지library(dplyr)library(ggplot2) df=read.csv("data.csv", header=T, stringsAsFactors=F) #조건별 데이터 분류 시 사용 region=filter(df, region=="선택국가", gender=="여성")region=filter(df, region=="선택국가", gender=="여성"|gender=="남성") #df에서 남성만 선택 male=filter(df, gender=="2") #국가별로 그룹mal..

R을 이용한 웹크롤링 그리고 워드클라우드(1)

R로 특정 웹을 크롤링하여 원하는 정보를 얻은 후 텍스트 마이닝을 통해 워드클라우드를 만든다. 이번 블로그 내용은 내가 학습하기 보단 그냥 긁어서 몇가지 옵션만 바꾼 후 꾸준히 사용할 예정이므로 스크립트를 굳이 외우려고 하지 않는다. #필요 패키지 install.packages("httr")install.packages("rvest")install.packages("stringr") library(httr)library(rvest)library(stringr) # 게시판 URLlist.url = 'http://kin.naver.com/search/list.nhn?cs=utf8&query=검색어' # 제목과 본문을 저장할 벡터titles = c()contents = c() # 게시판 1~2페이지 크롤링fo..