본문 바로가기
반응형

분류 전체보기80

r4issactoast을 이용한 XY-plot 쉽게 그리기 필자가 통계를 주로 설명하는 블로그를 운영하고 있다보니, 그래프를 그릴 일이 많다. 아무래도 시각적인 것이 글로 써져있는 것보다 훨씬 잘 눈에 들어오기 때문일 것이다. 그 중에서도 가장 많이 사용되는 것을 꼽으라면 단연 XY plot이다. 매번 XYplot을 그리는 입장에서 코드 쓰는게 여간 귀찮은게 아니었다. 따라서 좀 더 빨리 XY plot을 그리고 싶은 마음이 있었는데, 마침 예전에 필자가 기본 패키지를 사용하여 예쁜 XY 그래프를 그리는 것을 연재한 것이 생각나, 이번에 시간을 내어 그 때 사용했던 코드를 r4issactoast에 넣어놓았다. r4issactoast 패키지를 통한 XY-plot 빠르게 그리기 # remotes::install_github("issactoast/r4issactoast.. 2023. 6. 10.
R을 사용한 논문용 그래프 - 4강. 여러 그래프를 한번에 그리기 mfrow() 여러 그래프를 한 번에 그리기 오늘은 여러개의 그래프를 한꺼번에 그리는 방법에 대하여 알아보도록 하자. 시작하기 앞서, 준비 단계로 우리가 이제까지 배웠던 그래프 설정을 함수로 저장하도록 하자. 아래와 같이 특정 그래프의 세팅을 해놓으면 매번 그래프를 그리기 위하여 일일이 코드를 써 줄 필요가 없어진다. emptyPlot 2023. 6. 10.
R을 사용한 논문용 그래프 - 3강. 범례 넣기와 그래프 겹쳐 그리기 이번 시간에는 이전 포스팅의 복습 개념으로 하나의 Plot에 여러개의 그래프를 겹쳐서 그리는 방법과 범례를 넣는 방법에 대하여 알아보도록 하겠다. 먼저 두개의 그래프를 생성하기 위한 데이터를 준비해보도록 하자. 오늘은 우리가 알고있는 대표적인 ‘예쁜’ 함수인 \(sin\)과 \(cos\) 함수를 그려보기로 하자. x 2023. 6. 10.
R을 사용한 논문용 그래프 - 2강. 배경색 지정 및 수학 기호로 제목 달기 지난 포스팅에서 우리는 주어진 x벡터와 y벡터를 가지고 그래프를 그리는 방법에 대하여 알아봤다. 포인트를 선으로 바꾸는 방법과 보여지는 축의 범위를 조정하고 x, y축을 표시하여 아래와 같은 그래프를 얻을 수 있었다. 지금도 충분히 처음 plot()을 사용했을 때보다 그럴싸 해보이지만, 아직 몇 가지 할 일이 남았다. 먼저 그래프 제목과 x, y 축의 제목을 달아보도록 하자. 이것을 위해서는 다음과 같이 plot() 함수의 main, xlab, 그리고 ylab 항목을 알맞게 설정하면 된다. x 2023. 6. 10.
R을 사용한 논문용 그래프 그리기 - 1강. 축 및 배경 기준선 그리기 이번 포스팅에서는 R을 사용하여 쿨해 보이는 그래프를 그리는 방법을 알아보도록 하겠다. 사실 R에는 다양하고 편리한 그래프 팩키지들이 있어서 팩키지를 다운 받은 후 사용하면 되지만, 그 이전에 기본 명령어를 사용하여 플랏(Plot)을 그리는 원리를 이해한다면 나중에 그래프 팩키지를 사용할 때 훨씬 이해가 쉽다. R의 그래프 명령어를 공부하는데에 가장 쉬운 예제는 우리가 익히 알고 있는 히스토그램(R통계 팩키지임에도 불구하고)도 bar차트도 아닌 단순한 x-y 그래프이다. x-y 그래프를 완벽히 숙지하고 있다면 다른 어떤 그래프도 손쉽게 만들어 낼 수 있을 것이라고 필자는 생각한다. 자, 각설하고 그래프 그리기를 시작하자. 우리가 수학시간에 배웠던 \(y=x^2\)를 그리고 싶다고 생각하자. 그렇다면 제일.. 2023. 6. 10.
[RSTAT101] 10강. 기초 통계분포 - 정규분포 갓벽 정리 정규분포 곡선 정규분포 곡선(다른 이름은 확률밀도함수 입니다.)의 특징은 다음과 같습니다. 대칭이며, 최대값이 하나 존재한다. 곡선의 모양은 평균과 표준편차에 의하여 결정된다. 평균은 곡선의 중심에 대한 정보를 포함하고 있다. 표준편차는 곡선의 퍼짐과 관련이 있다. 모든 정규분포는 68-95-99.7 규칙을 따른다. 앞으로 우리는 정규분포를 나타냄에 있어서 다음과 같은 기호를 사용하여 나타내기로 약속하도록 하겠습니다. \[ \mathcal{N}(\mu, \sigma^2) \] 여기서 \(\mu\)는 평균을 나타내고, \(\sigma^2\)을 나타냅니다. 여기서 주목할 것은 항상 표준편차가 어떤 값인지 알 수 있도록 제곱꼴로 나타낸 다는 것입니다. 즉, \(\mathcal{N}(3, 4)\) 보다는 표준편.. 2023. 6. 10.
[RSTAT101] 9강. 잡음과 정규분포에 대하여 잡음(white noise) 오늘은 잡음(noise)에 대하여 이야기를 꺼내볼까 합니다. 회귀분석을 모델링을 할 때, 우리는 암묵적으로 관측값에 잡음이 섞여 있다는 이야기를 하고 넘어갔습니다. 관측값에 잡음이 섞여 있다는 말이 무엇일까요? 우리가 관측하려고 하는 어떤 대상의 실제값을 가리는 다른 무언가가 존재한다는 말이겠죠. 다음 사진을 봅시다. 예쁜 건물 사진이네요. 이 사진에 잡음이 끼어있다면 어떨까요? 다음의 두 장의 사진을 한번 살펴 봅시다. Image credit: vladimir yuzhikov 위의 두 사진 모두 원래의 집의 형태가 확실하게 보여지지 않고, 뭔가가 섞여있는 모습입니다. 하지만 두 장의 사진을 비교해보면, 잡음의 정도가 차이가 나는 것을 알 수 있죠. 왼쪽의 사진은 잡음이 섞여.. 2023. 6. 10.
[RSTAT101] 8강. 범주형 변수가 포함된 회귀모형 이해하기 범주형(categorical) 변수 시각화 지난 시간에는 R에서 회귀분석을 어떻게 실행하는지 대하여 알아보았습니다. 오늘은 자료가 범주형(categorical) 변수를 포함하고 있을 경우 할 수 있는 회귀분석 대하여 알아봅시다. 일단 우리의 데이터를 불러옵니다. 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 범례활용과 pch 옵션 데이터 중에 성별을 나타내는 gender 변수가 있는데, 이 정보도 포함해서 시각화를 시켜보도록 합시다. with(data = mydata, plot(midterm, final, asp = 1.. 2023. 6. 10.
[RSTAT101] 7강. R에서 회귀분석 실행하기 R에서의 회귀분석 지난 시간에는 회귀분석의 직선이 어떻게 구해지는가에 대하여 알아보았습니다. 오늘은 회귀분석을 R에서 어떻게 하는지에 대하여 알아보도록 합시다. 일단 우리의 데이터를 불러오도록 할게요. mydata $names >> [1] "coefficients" "residuals" "effects" "rank" >> [5] "fitted.values" "assign" "qr" "df.residual" >> [9] "xlevels" "call" "terms" "model" >> >> $class >> [1] "lm" 위의 결과를 보면, result 변수는 lm이라는 클래스 (지금은 모르셔도 됩니다. lm 함수의 결과를 따로 묶어서 이름을 지어줬다고 생각하면 됩니다.)에 속하며, 가지고 있는 결과값이 .. 2023. 6. 10.
[RSTAT101] 6강. 회귀직선의 의미와 구하는 방법 회귀분석(regression) 이란 무엇일까? 통계에서 가장 유명한 모델을 뽑으라고 한다면, 회귀분석을 뽑습니다. 그만큼 유명하고, 유용합니다. 앞에서 우리가 다루었던 중간, 기말고사 점수 데이터를 예를 들어서 설명해보죠. mydata > [1] 46 39 59 63 77 이 학생들의 기말고사 점수의 예측값은 다음과 같게 될 것입니다. 1 * c(46, 39, 59, 63, 77) + 5 >> [1] 51 44 64 68 82 회귀직선 결정하기 앞에서 제가 그린 직선이 제가 생각하기엔 데이터의 경향을 잘 나타내고 있다고 생각하는데, 어떻게 생각하시나요? 제 친구에게 데이터의 경향을 잘 나타내는 직선을 그리라고 한다면, 같은 직선을 그릴까요? 다음의 직선을 생각해봅시다. plot(mydata$midterm.. 2023. 6. 10.
[RSTAT101] 5강. 상관계수의 의미와 시각화 상관 계수(correlation coefficient) 두 개의 변수의 값을 관찰하고 있다고 생각합시다. 예를 들어 우리가 이제까지 사용했던 데이터에서 중간고사 점수과 기말고사 점수를 생각해보죠. 이 점수들을 쌍으로 묶으면, \((x_i, y_i)\)라고 생각 할 수 있고, \(i = 1, ..., n\) 명의 학생들의 점수를 가지고 있다고 생각합시다. 이러한 경우 상관 계수는 다음과 같은 공식을 통해 계산 할 수 있습니다. \[ r=\frac{1}{n-1}\sum_{i=1}^{n}\left(\frac{x_{i}-\bar{x}}{s_{x}}\right)\left(\frac{y_{i}-\bar{y}}{s_{y}}\right) \] 위의 공식에서 \(\bar{x}, \bar{y}\)와 \(s_x, s_y\).. 2023. 6. 10.
[RSTAT101] 4강. 사용자 정의함수와 최빈값 사용자 정의 함수 미국에서 생활을 하다보면 우리나라와 단위가 달라서 불편할 때가 많습니다. 그 중 하나가 바로 온도 단위입니다. 미국은 화씨(Fahrenheit, ºF)를 온도의 단위로 사용하고, 한국은 섭씨(Celsius, ºC)를 사용하기 때문입니다. 두 단위의 변환 공식은 다음과 같습니다. (°F − 32) × 5/9 = °C 위 공식을 사용하면, 다음과 같이 화씨 89도는 섭씨로 31.7도 인 것을 알 수 있습니다. (89 - 32) * 5/9 >> [1] 31.66667 만약 우리가 다음과 같은 화씨로 측정된 온도데이터가 5개 있다고 합니다. 이 숫자들을 섭씨로 바꾸려면, R에서는 어떻게 해야할까요? 67, 45, 92, 83, 70 가장 직관적인 방법은 다음과 같이 위의 코드를 다섯번 적용하는.. 2023. 6. 10.
반응형