R 시계열자료 정의, 그래프, 변환
R에서는 시계열 자료를 위한 자료구조가 따로 있습니다. ts 라는 자료구조인데요. time series 의 줄임말입니다. 1. 시계열 자료구조 만들기 ts 자료구조를 한번 만들어봅시다. 어떤 회사의 2022년 월간 자동차 판매량이 아래와 같다고 합시다. 1월 10대 2월 15대 3월 20대 4월 13대 5월 22대 6월 32대 7월 56대 8월 33대 9월 72대 10월 99대 11월 48대 12월 67대 위 데이터를 벡터자료구조를 이용해서 변수에 입력합시다. md=c(10,15,20,13,22,32,56,33,72,99,48,67) 시계열 자료구조인 ts로 만드는 방법은 아래와 같습니다. md1= ts(md,frequency=12,start=c(2022,1)) > md1 Jan Feb Mar Apr M..
2023. 1. 8.
R에서 분할표 만드는 방법 (빈도, 비율)
R에서 빈도 분할표를 만들 때는 table 함수를, 비율 분할표를 만들 때는 prop.table 함수를 사용합니다. prop.table 함수에는 table 함수의 결과를 넣어줘야 합니다. 데이터는 한 열에는 독립변수, 나머지 열에는 종속변수가 오도록 만들어줘야 합니다. 아래는 예시입니다. #1.데이터 생성 set.seed(9999) male=rbinom(100,1,0.3) female=rbinom(100,1,0.7) #2. factor로 변환 male=factor(male,levels=c(0,1),labels=c('no','yes')) female=factor(female,levels=c(0,1),labels=c('no','yes')) #3. 데이터프레임으로 변환 dt=data.frame(sex=c(re..
2021. 12. 30.
[R통계] 선형회귀분석 간단 예제와 결과 해석 (p값이 왜 이렇게 여러개?)
1. 데이터 독립변수는 키, 종속변수는 몸무게입니다. 10명의 데이터입니다. #data height=c(158, 163, 142, 198, 172, 155, 165, 168, 175, 182) weight=c(53, 77, 58, 101, 73, 58, 78, 71, 68, 79) 2. 회귀분석 lm함수를 이용하여 아래와 같이 입력합니다. (종속변수~독립변수) 형식으로 입력합니다. 결과를 변수 result 에 저장합니다. #linear regression result=lm(weight~height) 3. 그래프 그래프를 그리면 아래와 같습니다. plot(height,weight) abline(result) text(mean(height),mean(weight)*1.1, paste("y=",round(re..
2021. 6. 15.
[R통계] 최솟값,최댓값,중앙값,평균,제1사분위수,제3사분위수 한번에 구하기(summary)
summary 함수는 최솟값,최댓값,중앙값,평균,제1사분위수,제3사분위수 한번에 구해주는 함수입니다. > summary(1:10) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 3.25 5.50 5.50 7.75 10.00
2020. 12. 30.
[R통계] 회귀분석 결측치 처리에서 omit 과 exclude 의 차이
회귀분석을 할 때 결측치를 처리하는 옵션은 na.action 입니다. 입력값은 아래 두가지 입니다. na.omit na.exclude na.omit 과 na.exclude 모두 결측값을 제외하는데, 결과 출력에 차이가 있습니다. na.omit 은 결과출력에서도 결측치를 제외하고 na.exclude 는 결과츨력에서는 결측치를 포함합니다. na.omit 적용 예시 > x=c(1,2,3,NA,NA) > y=c(2,3,5,7,11) > fit=lm(y~x,na.action=na.omit) > resid(fit) 1 2 3 0.1666667 -0.3333333 0.1666667 na.exclude 적용 예시 > x=c(1,2,3,NA,NA) > y=c(2,3,5,7,11) > fit=lm(y~x,na.action..
2020. 12. 26.
[R통계] 회귀분석 표현식에서 . 의 의미
종속변수가 y이고, 독립변수가 x1,x2,x3라고 합시다. 데이터가 아래와 같이 입력되어 있다고 합시다. > mydata=data.frame(y=c(1,2,3),x1=c(1,3,5),x2=c(2,4,6),x3=c(1,4,7)) > mydata y x1 x2 x3 1 1 1 2 1 2 2 3 4 4 3 3 5 6 7 회귀분석을 하려면 아래와 같이 표현식을 입력해야 합니다. lm(y~x1+x2+x3, mydata) 위 표현식을 쉽게 입력하는 방법이 있습니다. 점(.)을 사용하는 것입니다. 점은 모든 독립변수를 포함한다는 의미입니다. lm(y~., mydata) 점(.) 을 이용한 다른 예시도 살펴봅시다. 아래 두 표현식은 동일한 의미입니다. lm(y~.-x1,mydata) lm(y~x2+x3) 아래 두 표현..
2020. 12. 26.
[R통계] 모든 확률분포 한눈에 보기(이산, 연속)
1. 이산확률분포 분포이름 확률질량함수 누적분포함수 누적분포함수의 역함수 임의추출 이항분포 dbinom(x, size, prob) pinom(q, size, prob) qbinom(p, size, prob) rbinom(n, size, prob) 기하분포 dgeom(x, prob) pgeom(q, prob) qgeom(p, prob) rgeom(n, prob) 음이항분포 dnbinom(x, size, prob, mu) pnbinom(q, size, prob, mu) qnbinom(p, size, prob, mu) rnbinom(n, size, prob, mu) 푸아송분포 dpois(x, lambda) ppois(q, lambda) qpois(p, lambda) rpois(n, lambda) 초기하분포 d..
2020. 12. 26.
R에서 상관계수 구하는 방법 (cor)
R에서 상관계수 구하는 방법 (cor) R에서 두 변수의 상관계수를 구할 때는 cor 함수를 사용합니다. > X=c(1,2,3,4,5)> Y=c(1,2,4,4,5)> cor(X,Y)[1] 0.9622504 cor 함수를 데이터프레임에 적용하면 상관계수 행렬을 출력해줍니다. > df=data.frame(X=c(1,2,3,4,5),Y=c(1,1,2,3,4),Z=c(1,3,5,6,7))> cor(df) X Y ZX 1.0000000 0.9701425 0.9847982Y 0.9701425 1.0000000 0.9235481Z 0.9847982 0.9235481 1.0000000
2020. 11. 30.
R 데이터프레임에 분산,공분산 함수를 적용해보자
R 데이터프레임에 분산,공분산 함수를 적용해보자 데이터프레임에 분산 또는 공분산 함수를 적용하면 공분산행렬을 출력해줍니다. 공분산 행렬은 각 데이터 사이의 공분산을 구해서 행렬형태로 만든 것입니다. 예시를 통해 이해해봅시다. 먼저 데이터프레임을 하나 정의합시다. > df=data.frame(c1=c(1,2,3),c2=c(10,20,30),c3=c(100,200,300))> df c1 c2 c31 1 10 1002 2 20 2003 3 30 300 분산 함수를 적용해봅시다. > var(df) c1 c2 c3c1 1 10 100c2 10 100 1000c3 100 1000 10000 위 결과에서 c1와 c1이 만나는 곳에 있는 10은, c1과 c2데이터 사이의 공분산입니다. cov 함수를 적용해도 동일한 결..
2020. 11. 30.
R 데이터프레임 열별 평균, 표준편차 구하기
R 데이터프레임 열별 평균, 표준편차 구하기 데이터프레임에서 열 별로 평균 등의 통계량을 구해봅시다. 먼저 데이터프레임을 하나 정의하겠습니다. > df=data.frame(c1=c(1,2,3),c2=c(10,20,30),c3=c(100,200,300))> df c1 c2 c31 1 10 1002 2 20 2003 3 30 300 각 열의 평균을 구해봅시다. apply 함수를 사용합니다. 아래와 같은 형식으로 사용하면 됩니다. apply(데이터,계산방향,적용함수) 계산방향은 1이 가로방향, 2가 세로방향입니다. 적용함수는 평균을 구할 것이므로, mean 함수를 넣어줍니다. > apply(df,2,mean)[1] 37 74 111 우리는 세로방향의 평균을 구하고 싶은 것이므로, 아래와 같이 적용합니다. > ..
2020. 11. 30.
R에서 평균, 중앙값, 표준편차, 분산, 공분산 구하는 방법
R에서 평균, 중앙값, 표준편차, 분산, 공분산 구하는 방법 R에서 평균, 중앙값, 표준편차, 분산, 공분산 구하는 함수는 아래와 같습니다. 평균 mean(x)중앙값 median(x)표준편차 sd(x)분산 var(x)공분산 cov(x,y) 아래는 예시입니다. > x=1:100> y=100:200 > mean(x)[1] 50.5 > median(x)[1] 50.5 > sd(x)[1] 29.01149 > var(x)[1] 841.6667 > cov(x,y)Error in cov(x, y) : 호환되지 않는 차원들입니다 공분산을 구하려면 x와 y의 길이가 같아야 합니다. > x=1:100> y=101:200> cov(x,y)[1] 841.6667
2020. 11. 30.
[R 통계분석] 표본 추출하는 방법 두가지
[R 통계분석] 표본 추출하는 방법 두가지 R에서 표본을 추출하는 방법은 크게 두가지가 있습니다. 1) 직접 모집단을 설정하고 표본 추출하기2) 확률분포에서 추출하기(정규분포, 초기하분포 등) 하나씩 알아봅시다. 1) 직접 모집단을 설정하고 표본 추출하기 sample 함수를 사용합니다. 사용 방법은 아래와 같습니다. sample(x, size, replace=FALSE, prob=NULL) 아래는 각 입력값의 설명입니다. sample(모집단, 표본크기, 중복여부, 각각이 뽑힐 확률) 예를 들어봅시다. 1부터 10의 정수 값을 가지는 모집단에서 크기 3인 표본을 중복을 허용하여 뽑아보겠습니다. > sample(1:10,3,replace=TRUE)[1] 4 1 4 2) 확률분포에서 추출하기(정규분포, 초기하..
2020. 9. 16.