본문 바로가기
반응형

분류 전체보기80

[RSTAT101] 3강. 평균과 중앙값, 분산과 IQR의 관계 이해하기 데이터 불러오기 저번시간에 불러왔던 데이터를 다시 불러오도록 하자. mydata > student_id gender midterm final >> 1 1 F 38 46 >> 2 2 M 42 67 >> 3 3 F 53 56 >> 4 4 M 48 54 >> 5 5 M 46 39 >> 6 6 M 51 74 분포의 중간 지점을 나타내는 평균과 중앙값 평균 (mean) 우리가 갖고 있는 데이터를 가장 잘 대표하는 값 하나를 뽑으라면 평균이라고 생각합니다. 평균을 구하는 방법은 각각의 데이터를 더한 후, 데이터의 갯수만큼으로 나줘주면 됩니다. x > [1] 8 mean(x) >> [1] 8 Q. 중간고사의 평균은 어떻게 될까요? mean(mydata$midterm) >> [1] 41.16667 평균을 구한다는 것은.. 2023. 6. 10.
[RSTAT101] 2강. 기초통계 그래프들 - 파이차트, 줄기-잎 그래프, 히스토그램, 상자그림 데이터 불러오기 저번시간에 불러왔던 데이터를 다시 불러오도록 하자. mydata > student_id gender midterm final >> 1 1 F 38 46 >> 2 2 M 42 67 >> 3 3 F 53 56 >> 4 4 M 48 54 >> 5 5 M 46 39 >> 6 6 M 51 74 데이터 열에 접근하기 $ 명령어는 불러온 데이터의 행에 접근 할 수 있도록 해줍니다. 다음은 불러온 mydata의 midterm1 열을 선택하는 코드입니다. mydata$midterm >> [1] 38 42 53 48 46 51 48 43 28 38 50 29 27 36 29 34 35 46 >> [19] 39 9 76 15 63 28 49 42 24 52 65 52 이전에 배웠던 대괄호 명령어 [] 를 사.. 2023. 6. 9.
R에서 데이터프레임에 tibble 열별, 행별 총합 붙이기 가끔 R에서 문서에 들어가는 표를 작성하는 경우 데이터 프레임의 아래쪽과 옆쪽에 총합을 구해서 넣고싶은 경우가 있다. 이러한 것을 쉽게 해주는 함수가 janitor 패키지에 존재한다. adorn_totals() 함수를 사용하여 넣어주면 된다. 행에 넣고 싶은 경우 "row"만 입력하면 된다. 쉬워서 그냥 코드만 붙여넣었음. library(tidyverse) library(janitor) mytab # A tibble: 2 × 6 #> 성별 `20대` `30대` `40대` `50대` `60대.이상` #> #> 1 Male 20 20 20 0 0 #> 2 Female 20 20 0 0 0 mytab |> adorn_totals(c("row", "col")) #> 성별 20대 30대 40대 50대 60대.이상.. 2023. 4. 19.
Rmd 문서 G메일로 전송하기 (blastula 패키지) 문서 자동화의 핵심 기능이죠? 데이터에 연결된 보고서를 kniting 할 때마다 내용이 바뀌게 작성하고, 작성된 결과를 메일로 전송하는 방법을 알아보겠습니다. blastula 패키지를 사용한 Email 보내기 영상 다음은 영상에서 사용한 R코드와 Rmd 코드입니다. email-automation.R 코드 # 이메일 내용 작성 email_body as_tsibble(index = 날짜) |> autoplot(총매출) + scale_x_date(date_breaks = "1 month", date_labels = "%y년\n%m월") + theme(axis.text.x = element_text(angle = 0, hjust = 1)) + bbplot::bbc_style() + labs(title = "월별.. 2023. 4. 9.
EM 알고리즘에 대하여 Optimization 강의 1 이번 포스팅에서는 머신러닝(machine learning) 분야에서 많이 등장하는 EM 알고리즘(Expectation–Maximization algorithm)에 대하여 알아보도록 하겠다. 요즘 머신러닝이 유행하면서 EM 알고리즘이 뭔가 새롭게 등장한 것 같지만, EM 알고리즘은 어찌보면 전통 통계기법이라 할 만큼 그 역사가 길다. EM 알고리즘의 이름이 처음 등장한 것은 1977년 Arthur Dempster, Nan Laird, and Donald Rubin이 쓴 논문에 처음 등장하지만, 이 논문의 요지는 ’이제까지 특정 분야들에서 여러 사람들에 의하여 제안되었던 방법들이 하나의 공통적인 과정을 따르고 있다.’라는 것이었다. 즉, 1977년 이전부터 쭉 사람들이 EM 알고리즘을 사용하여 문제를 해결했.. 2023. 4. 5.
EM 알고리즘의 ascent property에 대하여 - Optimization with R 이전 포스팅에서는 EM 알고리즘에 대하여 간략한 예제를 통하여 알아보았다. 이번 포스팅에서는 EM 알고리즘이 작동하는 원리에 대하여 살짝 이해해보는 시간을 갖도록 하자. 전 포스팅에서 알아보았듯, 결국 EM 알고리즘은 E step과 M step을 반복 함으로써 우도 함수를 최대화시키는 방법이다. 자연스럽게 떠오르는 질문은 ‘항상 이러한 방법을 사용하면 우도 함수를 최대로 만드는 모수를 찾을 수 있을까?’ 일 것이다. 이러한 질문의 완벽한 대답은 되지 않지만, EM 알고리즘의 Path는 이번 포스팅에서 다룰 아주 좋은 성질을 가지고 있다. Ascent property of EM algorithm EM 알고리즘을 사용해서 우리는 모수의 값을 계속 업데이트 해 나아간다. 이렇게 업데이트된 모수는 우리가 최대화.. 2023. 4. 5.
R 프로그래밍 apply() 함수 - 당신의 코드를 짧고 간결하게 필자의 유튜브 슬기로운 통계생활에 R과 통계에 관한 강의를 올려놓았다. 기초 내용이지만 초급자들이 어려워하는 함수와 개념들을 자세하게 올려놓았고, 계속 업데이트 예정이니 자주 들려주시기 바란다. 😎 이번 포스팅에서 다룰 R함수는 바로 apply() 함수이다. 사실 R에는 여러가지 apply()로 끝나는 이름의 함수들이 많다. 예를들어, lappy(), sapply(), tapply(), 그리고 mapply() 등등 사실 이런 함수들의 사용법을 알고 있어도 필자도 매번 잊어버리고 도움말을 찾아본다. 일일이 이러한 함수의 사용법을 알고 있는 것 자체도 비효율적이라고 생각하는 측면도 있고, 따지고 보면 오늘 설명할 apply 함수에서 출발한 아류들이기 때문이다. 따라서 apply 함수를 확실하게 이해하고, 자.. 2023. 4. 5.
캐글 노트북 꼭 알아둬야 할 단축키들 정리 요즘 캐글을 할 일이 있어서 캐글 노트북을 자주 이용하게 되었다. 작업을 하다보니 자주사용하게 되는 유용한 단축키들을 정리할 필요가 잆어서 포스팅한다. 여러줄 코멘트 처리 / 코멘트 풀기 토글키: Ctrl + / 셀 지우기: (ESC를 눌러서 셀에 커서가 없는 커맨드 모드에서) D, D 셀 전체 코드 실행: Ctrl + Enter 셀에서 특정부분 코드 실행: 블록 지정 후 Ctrl + Enter 2023. 3. 20.
R에서 Python 연결 시 에러 해결법 미니콘다가 설치 되었음에도 불구하고 다음과 같은 에러가 나는 경우가 있다. Error in reticulate::use_miniconda() : Miniconda is not installed. Use reticulate::install_miniconda() to install Miniconda. Execution halted 이것은 현재 설치되어있는 미니콘다의 설치 경로를 R에서 알아채지 못해서 발생하는 오류이다. 해결법은 R에서 미니콘다가 현재 어디에 설치되어 있는지 알려주면 된다. 환경변수 `RETICULATE_MINICONDA_PATH ` 를 만들어서 설치경로를 입력하면된다. 2023. 3. 5.
가장 많이 쓰이는 통계 그래프 5 종류! R로 정복하기 데이터를 시각화하는데 사용할 수 있는 많은 유형의 통계 그래프가 있지만, 가장 널리 사용되는 그래프는 다음과 같습니다. 선 그래프(Line graph): 선 그래프는 시간 경과에 따른 추세를 표시하거나 여러 변수를 비교하는 데 사용됩니다. 기온, 주가, 인구 증가와 같은 연속 변수에 대한 데이터를 표시하는 것은 일반적인 방법입니다. 막대 차트: 막대 차트는 여러 범주 또는 데이터 그룹을 비교하는 데 사용됩니다. 성별, 나이 또는 직업과 같은 범주형 변수의 데이터를 표시하는 데 사용할 수 있습니다. 히스토그램: 히스토그램은 연속형 변수의 분포를 표시하는 데 사용됩니다. 막대 차트와 비슷하지만 서로 다른 범위 또는 빈 내의 데이터 빈도를 표시하는 데 사용됩니다. 산점도: 산점도는 두 연속형 변수 사이의 관계.. 2023. 1. 28.
R 그래프 그리는 법 - plot() 함수 옵션과 예제 R 프로그래밍 언어의 가장 강력한 특징 중 하나는 아름답고 유익한 플롯을 만드는 능력이다. 이 블로그 게시물에서는 기본 R 코드를 사용하여 간단한 플롯을 만드는 과정을 설명하고 플롯을 생성하는 데 사용되는 실제 R 코드를 제공하는 추가 보너스를 제공할 것이다. 1단계: 데이터 준비 그래프를 만드는 첫 번째 단계는 데이터를 준비하는 것입니다. 이 예에서는 다양한 자동차 모델과 특성에 대한 데이터를 포함하는 내장 mtcars 데이터 세트를 사용할 것이다. 시작하기 전에 데이터 세트를 로드하고 처음 몇 개의 행을 살펴보도록 하겠습니다: data(mtcars) head(mtcars) ## mpg cyl disp hp drat wt qsec vs am gear carb ## Mazda RX4 21.0 6 160 .. 2023. 1. 28.
메트로폴리스-해스팅스(Metropolis-Hastings) 난수추출 알고리즘에 대하여 이번 포스팅에서는 베이지안 통계에서 많이 사용되는 알고리즘인 Metropolis-Hastings(이하 MH) 알고리즘에 대하여 간단히 알아보고자 한다. MH 알고리즘은 마르코프 체인 몬테칼로(Markov Chain Monte Carlo) 방법 중 하나로, MH 알고리즘을 사용하여 타겟 분포를 정상분포(stationary distribution)로 갖는 마코브 체인을 발생시킬수 있기 때문이다. 이렇게 발생시킨 체인은 타켓 분포에서 발생시킨 상관성이 존재하는 표본으로 생각할 수 있는데, 이 표본들을 가지고 몬테칼로 방법을 적용하게 된다. 이러한 전반적인 과정을 머리속에 생각하면서, 오늘은 우리가 생각하는 특정 분포을 정상분포로 갖는 체인을 발생시키는 방법에 대하여 알아보자. Metropolis-Hasting.. 2022. 5. 9.
반응형