본문 바로가기
반응형

R80

[R 강의] 103. 정말 유용한 %>% 연산자 [R 강의] 103. 정말 유용한 %>% 연산자 %>%연산자는 dplyr 패키지에서 제공하는 연산자입니다. 파이프연산자라고 부릅니다. 알아두면 아주 유용한 연산자입니다. 연산자 오른쪽에 있는 함수를 왼쪽에 적용해줍니다. 직접 사용해보며 이해해봅시다. 먼저 dplyr 패키지를 설치합시다. install.packages("dplyr") 벡터를 정의하고, 파이프 연산자를 이용하여 평균을 구해봅시다. a=c(1.11,2.22,3.33,4.44,5.55)a_mean=a %>% mean > a_mean[1] 3.33 파이프 연산자는 변수에 적용된 함수가 많아질 수록 빛을 발함니다. 위에서 정의한 벡터의 평균을 구하고, 소수 둘째자리에서 반올림을 해봅시다. 먼저 파이프 연산자를 사용하지 않고 구해보겠습니다. > ro.. 2020. 10. 2.
[R강의] 102. 표본추출 방법 - 계통추출법(systematic sampling) [R강의] 102. 표본추출 방법 - 계통추출법(systematic sampling) 표본추출방법은 크게 확률추출법과 비확률추출법으로 나뉩니다. 오늘은 R에서 계통추출을 하는 방법을 공부해봅시다. 표본추출방법에 대한 내용은 아래 글을 참고해주세요. https://hsm-edu.tistory.com/1083 계통추출법 (systematic sampling)은 간격 k를 정하고, k보다 작은 번호에서 출발하여 k간격으로 표본을 추출하는 방법입니다. 예를들어 모집단의 크기가 10이라고 해봅시다. 모집단 원소들을 각각 1번부터 10번까지의 번호를 붙였습니다. 3번으로 출발하여 2간격으로 표본을 추출하면 아래와 같습니다. 3번, 5번, 7번, 9번 R 코드를 짜봅시다. 첫 번호와, 간격 k를 입력하면 표본을 추출.. 2020. 9. 29.
[R강의] 101. 통계청 데이터 다운받고 R에서 불러오는 방법 [R강의] 101. 통계청 데이터 다운받고 R에서 불러오는 방법 오늘은 통계청에서 제공하는 국가통계데이터를 다운 받고, R에서 불러오는 방법을 알려드리겠습니다. 국가 통계 데이터는 아래 사이트에서 다운받을 수 있습니다. https://kosis.kr/index/index.do 국가통계포털 사이트입니다. 국가통계포털은 KOSIS라고 부릅니다. Korean Statistical Information Service 의 줄임말입니다. 우리가 오늘 다운받을 데이터는 '사망원인'데이터입니다. 상단 [국내통계] 탭의 [주제 별 통계]로 들어갑니다. [보건]을 클릭하고 [사망원인통계]를 클릭합니다. (아래 그림 참고) 아래 그림처럼 사망원인 236항목을 클릭합니다. 시점을 전체로 변경해줍니다. 항목표두, 시점표측을 선.. 2020. 9. 23.
[R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (4) Type1: 2수준 독립변수 하나와 종속변수 [R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (4) Type1: 2수준 독립변수 하나와 종속변수 2번강의에서 데이터를 불러온 상태로 진행됩니다. 남녀 연봉을 비교해보겠습니다. 결과적으로 아래와 같은 표가 그려집니다. 전체 남자여자 p-value 연봉 평균±표준편차 평균±표준편차 평균±표준편차 p값 R로 이 표를 그려봅시다. table의 1행1열에는 남자 연봉의 평균과 표준편차가 들어갑니다. 남자 연봉데이터만 추립니다. 인덱싱 방법은 아래 두가지가 있습니다. data[data["성별"]=="M","연봉"] data[data$"성별"=="M","연봉] 저는 첫번째 방법을 선호합니다. "성별" 자리에 변수를 넣을 수 있기 때문입니다. $뒤에는 변수가 올 수 없습니다. 둘은 결과에서도 차.. 2020. 8. 28.
[R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (3) 독립변수의 분석 [R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (3) 독립변수의 분석 우리가 다루고 있는 데이터는 아래와 같습니다. 2번강의에서 데이터를 불러온 상태로 진행됩니다. > head(data) 성별 직업 연봉 키 몸무게1 F D 6548 145 412 F T 3543 155 693 F D 4105 164 744 F D 3363 169 805 F T 4029 160 716 F D 4659 145 51 table함수를 이용하면 독립변수의 범주별 인원수를 쉽게 구할 수 있습니다. 독립변수는 성별과 직업입니다. > table(data[,1:2]) 직업성별 D P T F 21 8 21 M 18 16 16 한눈에 알아보기 쉽도록 아래와 같은 표가 출력되도록 해봅시다. D P T Total F 21 .. 2020. 8. 28.
[R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (2) 데이터 불러오기 [R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (2) 데이터 불러오기 아래 데이터를 다운로드 받습니다. 데이터를 불러옵시다. 경로는 각자 파일이 있는 경로를 입력하시면 됩니다. library(readxl)data head(data) 성별 직업 연봉 키 몸무게1 F D 6548 145 412 F T 3543 155 693 F D 4105 164 744 F D 3363 169 805 F T 4029 160 716 F D 4659 145 51 열이 5개이고 각각의 이름은 '성별' '직업' '연봉' '키' '몸무게' 입니다. 2020. 8. 28.
[R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (1) 개요 [R 데이터분석 실전] 여러 독립변수와 종속변수가 있는 데이터 분석 (1) 개요 통계분석을 자주 하다보니 자주 사용되는 데이터 패턴이 있었습니다. 매번 R 코드를 새로 짜는 것이 번거로워서 자주 사용되는 데이터 패턴을 분석하는 하나의 패키지(?)를 만들어 보려고 합니다. 제가 주로 다루는 데이터는 아래와 같은 형태입니다. 예를 들면 아래와 같습니다. 위와 같은 형식의 데이터를 분석하는 R 코딩에 대한 이야기를 할건데요. 아래와 같이 독립변수를 채워넣었습니다. 종속변수는 숫자인데 굳이 넣지는 않겠습니다. 성별에서 F는 여자, M은 남자입니다. 직업에서 T는 교사, D는 의사, P는 교수입니다. 그룹을 나누고 그룹 간의 차이를 비교한다고 할 때, 나눌 수 있는 그룹의 개수가 몇개일까요? 먼저 이것을 계산해보.. 2020. 8. 27.
[도구 R과 3D 그래픽스] 4. stl 파일 여는 방법 [도구 R과 3D 그래픽스] 4. stl 파일 여는 방법 stl 포멧은 3차원 형상의 표면을 삼각형 매쉬형태로 저장한 것입니다. stereolithography의 줄임말이고, 3D 시스템즈가 개발했습니다. R에서 stl파일을 열어봅시다. 먼저 STL 파일을 구해야하는데요. 아래 홈페이지에서 고양이 obj 파일을 받아서 stl로 변환했습니다. https://free3d.com/ stl 파일 다운로드 -> 아래 코드를 사용합니다. 먼저 rgl 패키지를 로드합니다. 작업디렉토리를 고양이 STL 파일이 있는 경로로 바꿔주고, readSTL 함수를 이용하여 불러옵니다. library(rgl) setwd('C:/Users') A=readSTL('CAT.stl',col='blue') 2020. 8. 13.
[도구 R과 3D 그래픽스] 3. 표면을 그려주는 persp3d함수 [도구 R과 3D 그래픽스] 3. 표면을 그려주는 persp3d함수 persp3d함수를 이용하여 이변수 표준정규분포 그래프를 그려봅시다. x=seq(-3,3,0.1)y=seq(-3,3,0.1) outer 함수를 사용하여 x,y 격자에 해당하는 z값을 얻습니다. outer 함수의 사용 방법을 예로 들면, 아래와 같습니다. 둘의 곱을 계산하는 경우입니다. x=c(1,2,3)y=c(1,2,3)z=outer(x,y,"*") > z [,1] [,2] [,3][1,] 1 2 3[2,] 2 4 6[3,] 3 6 9 outer 함수를 우리 예제에 적용합시다. x=seq(-3,3,0.1)y=seq(-3,3,0.1)f=function(x,y){dnorm(x)*dnorm(y)}z=outer(x,y,f) 그래프를 그려봅시다 .. 2020. 8. 12.
[도구 R과 3D 그래픽스] 2. 점을 그려주는 plot3d 함수 [도구 R과 3D 그래픽스] 2. 점을 그려주는 plot3d 함수 rgl 패키지에 있는 plot3d 라는 함수를 이용하여 그래프를 그려봅시다. 먼저 패키지를 불러옵시다. library(rgl) 세 점을 찍어보겠습니다. (1,1,3) (1,5,6) (4,4,9) 아래와 같은 형식으로 입력합니다. x=c(1,1,4)y=c(1,5,4)z=c(3,6,9) 그래프를 그려봅시다. plot3d(x,y,z,type="s",col='red') library(rgl) x=c(1,1,4)y=c(1,5,4)z=c(3,6,9) plot3d(x,y,z,type="s",col='red') 2020. 8. 12.
[도구 R과 3D 그래픽스] 1. rgl 패키지 [도구 R과 3D 그래픽스] 1. rgl 패키지 R에서 OPEN GL을 사용할 수 있는 패키지가 있습니다. OPEN GL은 open graphics library 의 줄임말입니다. 2D, 3D 랜더링을 해주는 라이브러리입니다. 어떤 방향으로 공부할까 고민하다가, STL 파일을 다루는 것으로 방향을 잡았습니다. STL파일을 불러오고, 수정하고, 치수를 측정하고, 자르는 등의 작업을 해볼 생각입니다. 먼저 패키지를 설치하고, 패키지 안의 함수들을 간단하게 살펴봅시다. 패키지는 rgl 입니다. 설치합시다. install.packages("rgl") 패키지 안의 함수를 보는 명령어는 아래와 같습니다 . ls("package:rgl") 총 208개의 함수가 있습니다. 궁금한 함수가 있으면, 함수 앞에 물음표를 추.. 2020. 8. 11.
[R 크롤링] 6. 크롤링 예제3 (네이버 역대 영화 평점 순) 역대 영화 평점순 랭킹을 크롤링해볼 것입니다. 구글에 네이버영화라고 검색하고 나오는 사이트에 들어갑니다. 좌측탭의 영화랭킹을 클릭합니다. 가운데 탭의 평점순을 클릭합니다. 검사 도구를 켜고 이름을 클릭합니다. 클래스가 tit5 입니다. 이번에는 평점 코드를 확인합니다. 아래와 같이 크롤링하면 됩니다. #라이브러리 불러오기 library(httr) library(rvest) #GET 함수로 서버에 정보 요청하기 url = 'https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20210310' get_url = GET(url) #read_html 함수로 html 코드 읽기 my_html=read_html(get_url) #태그를 이용하여 추출 ti.. 2020. 7. 31.
[R 크롤링] 5. html 추출 연속 적용하기 지난 시간에 멜론 차트를 크롤링한 코드를 봅시다. #라이브러리 불러오기 library(httr) library(rvest) #GET 함수로 서버에 정보 요청하기 url = 'https://www.melon.com/chart/' get_url = GET(url) #read_html 함수로 html 코드 읽기 my_html=read_html(get_url,encoding='utf-8') #ellipsis rank01 클래스만 추출 pick1=html_nodes(my_html,'.ellipsis.rank01') #a 태그만 추출 pick2=html_nodes(pick1,'a') #텍스트 추출 pick3=html_text(pick2) 테크를 추출하는 부분을 보면, 테그추출 함수를 적용할 때마다 새로운 변수에 저.. 2020. 7. 29.
[R 크롤링] 4. 크롤링 예제2 (멜론 차트 순위) 크롤링 두번째 예제입니다. 멜론 차트에서 top 10 곡 리스트를 가져오겠습니다. 멜론 사이트에 들어가서, 메뉴에 '차트'를 클릭합니다. URL을 복사하여 가져옵니다. https://www.melon.com/chart/index.htm R의 GET 함수를 이용하여 서버에 정보를 요청합니다. library(httr) library(rvest) url = 'https://www.melon.com/chart/' get_url = GET(url) > get_url Response [https://www.melon.com/chart/] Date: 2020-07-27 05:06 Status: 200 Content-Type: text/html;charset=utf-8 Size: 386 kB 인코딩 방식이 utf-8 .. 2020. 7. 27.
[R 크롤링] 3. 크롤링 예제1 (교보문고 주간 베스트셀러) 이번시간에는 크롤링예제를 하나 수행해봅시다. 교보문고 홈페이지에서 종합베스트셀러 제목을 가져오는 것입니다. 교보문고 종삽주간베스트 페이지의 URL은 아래와 같습니다. 종합주간베스트 페이지는 교보문고 메인페이지에서 '베스트' 버튼을 클릭하면 접근이 가능합니다. http://www.kyobobook.co.kr/bestSellerNew/bestseller.laf?orderClick=d79 먼저 위 URL에 있는 html 코드를 가져와야합니다. html 코드를 읽을 때, R에서는 두가지 함수가 사용됩니다. 1) GET 함수를 이용하여 교보문고 서버에 내용 요청 2) read_html 함수를 이용하여 html 코드 읽음 서버에 url 내용을 요청하는 대표적인 방법에는 GET 방식과 POST 방식이 있습니다. 둘의.. 2020. 7. 27.
[R 크롤링] 2. 웹페이지의 html 소스코드 보는 법 도구 R로 하는 크롤링 2. 웹페이지의 html 소스코드 보는 법 교보문고의 베스트셀러 순위 중 1위를 크롤링으로 가져오고 싶다고 해봅시다. 먼저 교보문고 홈페이지에 들어갑시다. 메뉴에 보시면 '베스트' 라는 버튼이 있습니다. 이 버튼을 클릭하면 분야종합베스트 화면으로 이동합니다. 김미경의 리부트가 현재 1위입니다. 우리가 가져오고 싶은 것은 '김미경의 리부트'라는 글자입니다. 우리가 인터넷에서 보고 있는 모든 글자들은 html 이라는 언어로 되어 있습니다. 나중에 크롤링을 통해 가져올 정보도 html 코드에서 가져오는 것입니다. 어떤 웹페이지의 화면을 구성하는 html 코드를 확인하는 방법은 두가지가 있습니다. 오늘 그 방법을 알아볼 것입니다. 먼저 첫번째 방법입니다. 우클릭을 하고 페이지 소스보기를 .. 2020. 7. 25.
[R 크롤링] 1. R 크롤링을 어떻게 배울 것인가? 도구 R로 하는 크롤링 1. R 크롤링을 어떻게 배울 것인가? R로 하는 크롤링을 공부해보려고 합니다. 크롤링은 웹에서 원하는 정보를 수집하는 것을 말합니다. 프로젝트 수행방식으로 공부해야 방향성도 생기고 꾸준히 이어갈 수 있다고 해서 주제를 하나 정했습니다. 주제는 '주식'입니다. 더 정확히 말하면 주가와 재무제표분석 이라고 할 수 있습니다. R크롤링을 이용하여 주가 데이터와 재무제표 데이터를 가져오고, 이들을 분석해볼 것입니다. R도 아주 잘하지 못하고, 주식도 잘 모르기 때문에 공부해가며 강의를 이어가려고 합니다. 강의 순서는 아래와 같이 정해보았습니다. 순서는 수정되고 확장될 것입니다. 1. R 크롤링을 어떻게 배울 것인가? 2. 웹페이지의 html 소스코드 보는 법 3. 크롤링 예제1 (교보문고.. 2020. 7. 25.
[R 강의] 96. 독립표본 t검정 (+등분산 검정) 도구 R로 푸는 통계96. 독립표본 t검정 (+등분산 검정) 1. 2표본 t검정 설명 2표본 t검정은 두 집단의 평균을 비교할 때 사용하는 검정입니다. t검정은 크게 둘로 나뉩니다. 1) 독립표본 t검정 : 서로 독립인 두 집단을 비교 (ex. 남녀 키)2) 대응표본 t검정 : 어떤 처리 전 후를 비교 (ex. 약 처방 전후 모발 개수) 이번영상에서는 독립표본 t검정을 해보겠습니다. 독립표본 t검정은 두 집단의 등분산 여부에 따라 둘로 나뉩니다. 따라서 등분산검정을 먼저 해야합니다. 보통 levene's test 를 사용 합니다. levene's test 기각 -> 이분산 가정 t 검정levene's test 기각 안됨 -> 등분산 가정 t 검정 t검정에서는 중심극한정리를 사용하여 정규분포를 가정하기 때.. 2020. 6. 16.
[R 강의] 95. 일표본 t검정 도구 R로 푸는 통계95. 일표본 t검정 1. 일표본 t검정 일표본 t검정은 모집단의 알려진 평균과 표본의 평균을 비교하는 검정입니다. 예를들면 어떤 회사의 A과자의 평균무게가 30g이라고 알려져 있는데, 왠지 더 적은 것 같아 표본을 뽑아 비교할 때 사용합니다. t검정은 중심극한정리에 의한 정규분포 가정을 기반으로 하기 때문에, 일반적으로 표본의 크기가 30 이상일 때 사용 할 수 있습니다. 표본의 크기에 따른 대처 방법은 아래와 같습니다. 30 이상 : t-test10-30 : 정규성검정 여부 결정10 이하 : 윌콕슨순위합검정 위 내용을 디시전트리로 정리하면 아래와 같습니다. 한가지 더 고려해야할 내용은 양측, 단측검정입니다. 알려진 모집단의 평균과 같은지 다른지 여부를 알고 싶으면 '양측검정'을 선.. 2020. 6. 16.
[R 코딩 연습문제] 두 데이터의 평균, 표준편차, 총합, 원소 수를 비교해주는 함수 (R 코딩실력 향상을 위한 연습문제입니다.) Question 두 데이터를 벡터로 입력받고, 두 데이터의 평균, 표준편차, 총합, 원소 수를 비교해주는 함수를 만들어 봅시다. 아래와 같은 결과가 출력되야 합니다. Answer 먼저 1강에서 배운 크기비교함수를 아래와 같이 변형하겠습니다. comp=function(a,b) { if (a>b) {results=">"} else if (a data1=c(10,23,15,24,15,26) > data2=c(15,25,16,17,28,34,15,23,74) > myfun(data1,data2) data1 data2 mean 18.83 2020. 3. 14.
반응형