반응형

전체 글 51

[확률론] 5. 베이즈 정리(Bayes' theorem)

조건부확률의 응용으로 베이즈 정리로 확장될 수 있습니다. 베이즈 정리란 사전확률(prior probability)이 주어졌을 때 사후확률(posterior probability)을 구하는 것입니다. 여기서 사전확률이란 우리가 이미 알고 있는 확률입니다. 즉, 지금까지 경험으로 미루어보아 어떤 사건 A가 일어날 확률이 이정도쯤 되겠지..? 라는 개념입니다. 1. 폐암 발병률이 0.01 이라고 알려져 있다고 가정하면 이때 0.01이라는 값이 사전확률이 될 것입니다. 2. 반면 폐암 발병하지 않을 확률은 1-0.01 = 0.99 이 됩니다. 3. 환자가 폐암이 발병했다고 가정했을 때 폐암 진단이 올바르다고 판단할 확률은 0.9 이라고 합니다. 4. 그렇다면 환자가 폐암이 발병하지 않았다고 가정했을 때 폐암 진..

통계학개론 2021.02.11

[확률론] 4. 독립과 배반사건의 개념

사건을 구분하는 것이 크게 어려운 개념은 아니지만 잘못하면 헷갈릴 수도 있는 개념들입니다. 1. 배반사건 두 사건 A, B가 있을 때 A∩B가 의미하는 바는 A사건과 B사건이 동시에 일어난다는 것이죠. 하지만 동시에 일어나는 사건이 아예 없으면 어떨까요? 예를 들면 주사위를 던지는데 A는 짝수가 나올 사건이고 B는 홀수가 나올 사건이라고 한다면 두 사건이 동시에 일어날 수 있을까요? 당연히 불가능하겠죠 이 때 A∩B= ø 이 성립합니다. 이를 "두 사건 A와 B는 상호배반적이다" 라고 합니다. 2. 독립 추론 통계에서 독립이라는 조건을 이해하는게 중요한데 많은 핵심 개념들이 독립을 전제로 하고 있기 때문입니다. 따라서 매우 중요한 개념이기 때문에 꼭 짚고 넘어가야할 부분입니다. 특히 배반사건과 독립을 구..

통계학개론 2021.02.11

[R] 엑셀 파일 불러오기와 저장하기 (xls, xlsx)

엑셀 파일 불러오기와 저장하기(xls, xlsx) R로 데이터 처리할 시에는 직접 데이터를 입력하는 것보다 외부 파일을 불러오는 경우가 훨씬 많습니다. 보통 데이터는 엑셀 형식이나 텍스트 파일 형식으로 많이 저장이 됩니다. 일단 파일을 불러와야 뭘 어떻게든 해볼 수 있기 때문에 꼭 알고 있어야 하는 내용입니다. 1. 엑셀 파일 불러오기 1.1. readxl 패키지 - read_excel readxl 패키지를 설치 후 read_excel 이라는 함수를 이용하면 손쉽게 파일을 불러올 수 있습니다. read_excel 함수는 확장자가 xlsx 또는 xls 인 엑셀 파일 형식을 불러옵니다. read_xlsx 및 read_xls 함수를 직접 이용해도 사용 방법은 동일합니다. 경로명 지정시에는 getwd() 함수를..

[R] 반복문 사용하기 (for, while, break, next)

[R] 반복문 사용하기 (for, while, break, next) 다른 프로그래밍 언어와 마찬가지로 R에서도 반복문을 사용할 수 있습니다. 문법 자체는 크게 다를 바 없기 때문에 기존에 프로그래밍 언어 경험이 있는 분들은 쉽게 쓸 수 있습니다. 1. for 반복문 1.1. 용법 # data의 값을 x에 할당한 후 문장 수행 for( x in data) { 수행문장 } 1.2. 예시 1~5까지의 수를 print함수를 이용하여 각각 결과를 찍어보겠습니다. 변수 x에 1부터 5까지 각각 할당하면서 print(x) 함수로 각 결과가 나옵니다(변수명은 어떤 걸 써도 상관없음!). # 1부터 5까지 print for(x in 1:5){ print(x) } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 #..

[R] 벡터 생성과 인덱싱(Indexing) 및 추출

R 사용자라면 벡터(Vector)의 개념을 잘 이해하고 있는 것이 필수적입니다. R에서 벡터란 하나의 타입으로 지정된 데이터의 집합이라고 할 수 있습니다. 1. 벡터의 특징 - 한 가지 데이터 타입으로 저장 가능 - 기본적으로 열벡터 형태로 저장됨 - 벡터 연산으로 빠르게 처리 가능 2. 벡터 생성 벡터를 생성할 때는 c(...) 라는 문법을 사용합니다. 각 데이터 타입별 벡터를 생성해보겠습니다. # 1,2,3,4로 구성된 숫자형 벡터 생성 numeric_vector

[R] tidyr 패키지를 이용한 데이터 재구조(pivot_longer, pivot_wider)

1. pivot_longer : 데이터를 long format 으로 변경합니다. 즉, 행 수를 늘리고 열 수를 줄입니다. 1.1. 용법 pivot_longer( data, # data frame cols, # long format 으로 재구조할 칼럼 names_to = "name", # 재구조화된 항목의 칼럼명 values_to = "value", # 재구조화된 수치의 칼럼명 names_sep = NULL # names_to 에 여러 정보를 포함할 경우, 구분자를 기준으로 칼럼 이름을 분할하는 인자 values_drop_na = FALSE, # 결측치 존재시 포함여부 ... ) 1.2. 적용 tidyr의 기본 내장 데이터인 relig_income에는 특정 종교가 있는 사람들의 연간 수입에 대한 빈도 수 ..

[R] 쉼표(comma , )로 구분된 데이터 정제하기

데이터처리를 하다보면 쉼표( , )로 구분된 문자열을 볼 수 있습니다. 예를 들어, 아래와 같이 쉼표로 구분된 과일명의 데이터가 있다고 합시다. A, B, C 각 대상자가 가지고 있는 과일 종류의 개수가 몇인지 알고 싶다면 이대로 분석을 하기엔 어렵습니다. 데이터 양이 작다면 하나씩 세도 되지만, 그 양이 많아진다면 난감하겠죠? 목표는 왼쪽에 있는 데이터를 오른쪽으로 바꾸는 것입니다. 보아하니 쉼표로 구분된 형태보다 우측 데이터로 형태로 변형하면 분석하기 쉬워질 것 같습니다. 변형을 하는 방법이 몇 가지 있으니 간단히 소개하겠습니다. 1.데이터 생성 test % melt(id.vars='id') # id.vars 인자에 'id'를 줍니다. # 여기에서 'id'는 test1 데이터의 id라는 변수명입니다...

[R데이터분석] R which 함수 파헤치기

R에서 which함수는 데이터의 인덱스를 반환하는 기능을 합니다. which함수는 다음과 같은 형태로 쓸 수 있습니다. 인자로 논리형 벡터(TRUE 또는 FALSE로 구성된 벡터)를 주고 TRUE인 데이터에 대해 인덱스를 결과값으로 반환합니다. 예1) which 함수는 아래 그림과 같이 TRUE인 데이터에 대한 순서 번호를 반환합니다. > test test [1] TRUE TRUE FALSE FALSE TRUE TRUE FALSE # TRUE가 있는 순서를 반환 > which(test) [1] 1 2 5 6 예2) 어떤 데이터를 2로 나누었을 때 짝수이면 TRUE, 홀수이면 FALSE를 반환하는 논리형태의 벡터를 구성해봅시다. 아래 예제는 1부터 10까지 2로 나누었을 때의 논리형태의 벡터를 구성하는 것..

[R데이터분석] R 특정 문자열을 포함한 변수 선택하기

변수명에서 특정 문자를 포함한 변수를 선택하기 위한 방법에 대해 알아보도록 하겠습니다. 크게 두 가지 방법이 있는데 names 와 grep 함수를 이용한 방법과 dplyr 패키지의 select 함수를 이용하는 방법입니다. 아래와 같은 iris 데이터가 있을 때 "Sepal" 을 포함한 변수를 선택하겠습니다. 1. grep(문자열패턴, 문자벡터, ...) grep함수는 문자벡터의 특정 문자열을 찾아 해당 위치의 인덱스를 반환합니다. value = TRUE 를 추가적인 인자로 입력하면 해당 값을 반환합니다. > char_test 첫번째와 네번째 위치에 있음 > grep('a',char_test) [1] 1 4 # 첫번째와 네번째 위치에 있는 'a' 와 'ab'를 반환 > grep('a',char_test,v..

[R데이터분석] 간단하게 변수 이름 변경하기

데이터프레임의 변수 이름을 바꾸는 방법에 대해 알아보도록 하겠습니다. 아래 그림의 왼쪽 테이블의 변수 이름은 A,B,C 이며 이를 VAR1, VAR2, VAR3 로 바꾸고 싶습니다. > test test A B C 1 1 4 7 2 2 5 8 3 3 6 9 첫 번째 방법. names함수 이용 names 함수는 R 객체를 인자로 받아 해당 데이터셋의 변수 이름을 알 수 있게 하는 함수입니다. 결과값은 데이터 변수 벡터로 구성되어 있는데, 이를 새로운 이름으로 할당하기 위해 VAR1, VAR2, VAR3를 포함하는 벡터로 새로 저장해줍니다. > names(test) [1] "A" "B" "C" > names(test) names(test) [1] "VAR1" "VAR2" "VAR3" > test VAR1 V..

반응형