본문 바로가기

R_statistics

[통계] 회귀 (regression) 분석에서 비편향 (불편, unbiased) 의 의미와 증명 바쁘다는 핑계로 너무 오랜만의 포스팅이 되었네요. 이번 포스팅의 주제는 바로 회귀분석의 가장 기초적인 부분이라고 할 수 있는 내용입니다. 바로 비편향 혹은 불편. 영어로는 unbiased 라고 하죠. 여기서 비편향 혹은 불편, unbiased 가 의미하는 것이 무엇일까요? 의학 통계를 하시는 분들은 아마 이 말 자체를 처음 들어본 분들도 많이 있으실 겁니다. 이 말을 처음 들어보았다면, 반성의 시간을 갖도록 합시다. ^^; 일단 증명은 추후에 하도록 하고, unbiased 의 의미부터 살펴보기 위해 수식으로 살펴보면 $ E(\hat{\beta}_{1}) = \beta_{1} $ 를 나타냅니다. 즉, 표본에서 구한 $ \hat{\beta}_{1} $ 이라는 추정량은 우리가 구하고자 하는 모수들의 $ \be..
[R프로그래밍] 데이터전처리 stringr:: 문자, 텍스트, str_split, 변수 이름 나누기, R의 가장큰 장점이라면, 자연어 처리가 가능하다는 것이겠죠? 바로 예시로 들어가보겠습니다. #1단계 - 예시 데이터 프레임 만들기 names
[R프로그래밍] 회귀분석, 결정계수 (adjusted R2, R square)구하기 R 에서 회귀분석을 시행하여 결과값을 확인할 때, 결정계수를 함께 구해줘야합니다. 여러가지 패키지를 이용해서 구할 수도 있겠지만. summary 에 포함되어 있는 결정계수를 구하는 방법에 대하여 간단히 포스팅하도록 하겠습니다. 코드는 다음과 같습니다.# R2 값 구하기 summary(lmmodel)$r.squared # adjusted R2 값 구하기 summary(lmmodel)$adj.r.squared 정말 간단하죠? ^^ 도움이 되셨길 바랍니다. 도움이 되셨다면, '공감' 버튼 부탁드립니다^^
[R프로그래밍] 데이터시각화 with ggplot2:: 범례 (legend) 제거하기 (remove) ggplot 으로 figure 를 그렸을 때, 범례 (legend) 를 제거하고 싶을 때가 있습니다. 그럴때 사용하는 방법에 대하여 포스팅하겠습니다. iris 데이터 기준으로 말씀드리겠습니다. iris 데이터에서 Species 에 따른 Sepal.Length 와 Petal.Length 의 분포를 보고 싶어서 아래와 같은 figure 를 그렸습니다. ggplot(iris, aes(Sepal.Length, Petal.Length, color=Species))+ geom_point()+ theme_bw() 위 그림의 우측에 나와있는 범례를 지우기 위해서는 어떻게 해야할까요?? 방법은 다음과 같습니다.ggplot(iris, aes(Sepal.Length, Petal.Length, color=Species))+ ..
[R프로그래밍] 4분위 그룹 만들기, quartile grouping 어떠한 변수를 4분위수를 이용하여 4개의그룹으로 만들고 싶을 때가 있습니다.(4개의 그룹의 n 수가 동일하게...) 이때 사용하면 좋은 함수로 데이터 전처리 과정에서 자주 쓰입니다. 방법은 아래와 같습니다.dplyr 패키지에 포함되어 있는 ntile 함수를 사용하게 됩니다. dplyr::ntile ntile(df, n) mutate 와 함께 쓰면, 쉽게 quartile column 을 추가할 수 있습니다. 다음은 예시입니다.df 라는 데이터프레임에 x 라는 변수를 4분위수를 이용하여 grouping 하고 싶을 때, df% mutate(quartile = ntile(df$x, 4)) 위의 코드를 사용하시면 df 라는 데이터프레임에 quartile 이라는 이름의 column (4개로 grouping 된 변수..
[R프로그래밍] 데이터시각화 with ggplot2::sec_axis, dual axis graph, 2개의 축을 가진 그래프 그리기 데이터를 제시할때, 한개의 그래프 안에 2가지의 자료를 함께 보여주고 싶을 때가 있습니다.이러한 경우, 2가지 자료의 단위 혹은 값이 상당히 다르다면, 한개의 그래프 안에 2개의 자료를 모두 제시하였을 때, 2개의 자료가 따로따로 떨어져서 보여지겠죠? Iris 데이터를 이용하여 Sepal.Length 와 Petal.Length 의 분포를 하나의 그래프에 그린다고 가정해보겠습니다.극적인 효과를 위하여, Petal.Width 의 값을 전체적으로 1/10 로 감소시켜서 그래프를 그려보겠습니다. Sepal.Length 의 분포는 boxplot 을 이용하여 Species 별로 나타내고,Petal.Width 의 분포는 dot plot 을 이용하여 Species 별로 나타내겠습니다. 일반적인 방식으로 나타내면 아래와..
[통계] 중심극한정리, Central Limit Theorem (CLT) 의 정의 중심극한정리. Central Limit Theorem.CLT. 통계를 분석을 시행하는 사람이라면 적어도 한 번 이상은 들어보았을 정리입니다.하지만... 이 부분을 제대로 이해하지 못하고 통계를 수행하는 경우가 상당히 많습니다. 심지어 어떠한 통계책! 에는 '중심극한정리를 표본의 수가 많아지면 그 분포가 정규분포에 근접한다'는 황당한 소리를 적어놓는 경우도 있고,'대수의 법칙, Law of Large Numbers'과 구분을 제대로 못하는 경우도 있습니다. 증명과정까지야 잘 기억은 못하더라도,부끄럽지 않으려면 최소한 어떠한 내용인지는 머리 속에 제대로 남아있어야겠죠? 중심극한정리의 정의는,'표본의 수가 늘어날 수록, 그 표본들의 (표본)평균의 분포가 정규분포에 점점 근사한다.'입니다. 위의 황당한 소리와 ..
[R프로그래밍] 데이터시각화 with ggplot2::ggsurvplot, ggsurvplot 저장하기, saving ggsurvplot ggsurvplot 은 좋은 명령어죠. ggsurvplot 으로 만든 예쁜 figure 를 논문 제출을 위하여 high dpi 로 저장을 하고 싶을때 하는 방법입니다. 불행히도 일반적인 ggsave 는 먹히지 않습니다.꼼수(?)를 써야하는데요. ㅎㅎ방법은 아래와 같습니다. figure