데이터 갖고 놀기/실전 전투 R 11

코로나 바이러스 현황 보기

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

API R로 여행 계획 짜기 (with daum kakao)

여행 계획을 짜다보면 좋은 툴들이 많다. 효율적인 동선을 짜기 위한 여러 어플리케이션도 있고, 간단하게는 google map을 이용해서 동선을 짜기도 한다. 이번에는 카카오 개발자센터에서 지원하는 REST API 기능을 이용해서 여행지도를 그려보려고 한다. 예전에 공공데이터 open API를 사용하는 포스팅이 꾸준히 찾는 걸 보면 많은 사람들이 R에서 API를 사용하는 것을 원하는 것 같다. 2017/10/26 - [데이터 갖고 놀기/공공데이터 갖고 놀기] - 공공데이터 open api _ R 공공데이터 open api _ R 공공데이터 open api 듣기는 많이 들었는데... 실제로는 api 호출법을 몰라서 어떻게 하는것인지 인터넷을 한참 찾아봤다... 다들 api를 호출해서 xml 형태를 data...

R로 카카오 번역 api 사용하기 !

급하고 아쉬운 상황에서 우물을 판다고... 단순 반복 번역 일거리가 생겼다.. 영문명을 국문으로 그대로 옮겨적은 글자를 다시 영문명으로 바꾸는 것.. 한 두개면 상관이 없는데... 양이.. 생각보다 많았다.. 그래서 찾아보았다.. 번역 API 를 쓰기로.. 몇가지 후보가 있었는데 .. 1. 구글 2. 파파고 3. 빙 4. 카카오 1. 구글.. API 정책이 변경된지 한참 된 것 같다. 유료로 과금이 들어가는.. 50만자 이하는 무료인거 같기도 하고 아닌거 같기도 하고.. 다음에 도전을 해봐야겠다. 지금 당장은 삽질도 해야 하기 때문에 다른 API를 사용하기로 했다. 2. 파파고 해외여행갈때 그 기술을 입증받은.. 우리의 파파고.. 일일 제한 음.절. 이 1,000자로 제한 적이다.. 패스. 3. 빙 무료..

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),..

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) ..

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..