반응형

전체 글 51

[R] sapply 함수 사용법 & 활용하기

sapply 함수는 apply 계열의 함수로서 R만의 특징이 반영된 함수입니다. 만약 어떤 기능을 반복적인 처리할 시 매우 편리한 함수입니다. 예를 들어, 데이터셋에 포함된 결측치를 0으로 대체한다든지 또는 열별로 평균이나 합계를 구하는 것 등 각 변수별로 적용할 필요없이 간단한 코드를 돌리는 것만으로도 전체 데이터셋에 반영됩니다. 변수가 두세 개 정도일 때는 별 문제가 안되지만 수십, 수백개일 때는 각 변수별로 처리하는 것은 굉장히 비효율적일 것입니다. R에서는 for문과 같이 전통적으로 쓰이는 반복문도 쓸 수 있지만 sapply 함수처럼 벡터별 처리를 하는 함수를 이용하면 더 효율적으로 코드를 구성할 수 있습니다. 1. 열 별로 평균을 계산하는 방법 f 라는 이름의 데이터셋을 생성 후에 열별 평균을 ..

R 작업디렉토리/저장경로 지정하는 방법(setwd, getwd)

작업디렉토리란 데이터 불러오기 및 저장 시에 기본적으로 설정되어 있는 경로를 뜻합니다. 이와 관련하여 주로 쓰는 함수는 getwd, setwd, dir 와 같은 함수가 있습니다. 1. 현재 작업디렉토리 확인 getwd 는 현재 작업 경로의 위치를 확인할 수 있는 함수입니다. dir 함수는 인자로 아무것도 적지 않으면 현재 작업디렉토리로 지정되어 있는 경로의 파일명 또는 디렉토리명을 문자형 벡터로 제공됩니다. 만약 현재 지정된 작업디렉토리 안에 또 다른 하위폴더가 있다면 인자로 하위폴더명을 적으면 그 안에 있는 파일명과 폴더명이 반환됩니다. dir() 결과로 현재 작업디렉토리에는 두 개의 파일이 있는 것으로 확인되네요. > getwd() [1] "C:/Users/ho/Documents/R/Rtest/Blo..

R 결측치 처리하기(is.na, complete.cases 등)

데이터셋에는 항상 값이 정상적으로 들어가 있지 않습니다. 실제로 결측치를 포함한 데이터셋을 다룰 일이 훨씬 더 많습니다. 이 떄 결측치를 적절하게 처리를 할 수 있어야 합니다. 결측치란 NA(Not Available)라고도 하는데, 원래 정상적으로 데이터가 있어야 하지만 없음을 뜻합니다. 결측치 처리를 잘하느냐 못하느냐에 따라 결과도 달라질 수 있기 때문에 전처리 과정에서 매우 중요한 과정이라고 볼 수 입니다. 먼저 데이터에 대해 NA가 포함되었는지 여부는 is.na 함수를 사용합니다. 이 함수를 데이터에 적용하면 그 결과형태가 TRUE 또는 FALSE 로 반환되는 logical vector의 형태입니다. 결측치가 포함되어 있다면 결과값이 TRUE 이고 그 반대는 FALSE를 반환합니다. 1. NA를 포..

[확률론] 3. 조건부 확률의 정의

조건부 확률(Conditional probability)이란 어떤 사건이 일어났다는 전제 하에 다른 사건이 일어날 확률입니다. 두 사건 A, B가 있을 때, 사건 A가 일어났을 때 B가 일어날 확률은 다음과 같이 표현합니다. 위 밴다이어그램을 보면 쉽게 이해할 수 있습니다. P(B|A)는 A에 대한 A∩B의 확률인 것을 알 수 있습니다. 만약 한 개의 주사위를 던질 때 짝수가 나오는 사건을 A라고 하고, 3의 배수가 나오는 사건을 B라고 했을 때 P(B|A)는 다음과 같습니다. 조건부 확률의 정의로부터 A와 B가 동시에 일어날 확률 P(A∩B)를 다음과 같이 유도할 수 있습니다. 즉, A와 B가 동시에 일어날 확률은 A의 확률과 A가 일어났다는 전제하에 B의 확률을 곱한 것과 같습니다. 예를 들어, 주머..

통계학개론 2020.05.19

[데이터처리] 중복 데이터 제거한 데이터프레임 생성(duplicated, unique, distinct)

상황에 따라 중복된 데이터가 존재하여 유일한 행을 반환해야 하는 경우가 있습니다. ▼ 왼쪽의 테이블에는 a=3, b=10 인 행이 두 개 존재합니다. a=2, b=20 인 행도 두 개가 있습니다. 이때 중복된 데이터를 하나의 행으로 반환할 수 있도록 오른쪽 테이블과 같이 만들어보겠습니다. 먼저 다음 코드를 실행하여 위와 같은 데이터를 만듭니다. > test test a b 1 1 10 2 2 10 3 3 10 4 3 10 5 3 20 6 2 20 7 2 20 8 1 30 중복을 제거하고 유일한 행을 반환하는 방법 세 가지를 알아보겠습니다. 1. duplicated 함수 duplicated 함수는 중복된 요소를 탐색하여 논리적 형태의 벡터로 반환합니다. 다음 예를 확인해보겠습니다. duplicated 함수..

[확률론] 2. 확률의 정의

확률이라는 말은 실생활에서도 많이 쓰이는 단어입니다. 학자들마다 확률의 정의가 다른 경우가 있지만 일반적인 정의는 어떤 사건의 경우의 수를 전체 경우의 수로 나누어 계산하는 것입니다. 전 포스팅에서 세 개의 동전을 던지기 실험을 할 때, 표본공간 S는 아래와 같이 나왔습니다. 앞면이 2개 나오는 사건을 A라고 할 때, A가 나올 확률을 P(A)는 다음과 같습니다. 특정 사건의 확률은 0보다 크거나 같으며 모든 사건의 확률의 합은 반드시 1이 되어야 합니다. 확률의 합은 1이기 때문에 사건 A가 발생하지 않는 확률은 다음과 같이 구할 수 있습니다. 한편 두 사건 A, B에 대해선 다음이 성립합니다. 합사건 확률은 A 또는 B 사건이 일어나는 확률을 말하며, 각 사건의 확률을 더하고 동시에 사건이 발생하는 ..

통계학개론 2020.05.13

[확률론] 1. 표본공간과 사건

통계는 데이터를 다루는 목적에 따라 기술통계와 추론통계로 나뉩니다. 기술통계는 수집한 데이터의 정리 및 요약을 통해 데이터의 특성을 밝혀내는 방법입니다. 데이터의 특성은 대푯값을 통해 표현할 수도 있고 그림을 통해서도 나타낼 수 있습니다. 대푯값이란 평균, 분산 등 데이터의 특성을 반영한 하나의 값으로 표현될 수 있습니다. 또한 수치 자료의 구간 별 빈도를 볼 수 있는 히스토그램이나 다양한 종류의 그래프들이 있을 수 있습니다. 이와 같이 기술통계가 뜻하는 바는 누구나 쉽게 이해할 수 있습니다. 주로 통계학이라고 한다면 추론 통계학을 이야기하는 경우가 많습니다. 통계학이 어렵다는 이야기를 하는 경우 대부분이 추론통계일 것입니다. 추론통계에서는 모집단(population)과 표본집단(sample)이라는 개념..

통계학개론 2020.05.11

[R데이터분석] dplyr 패키지를 활용한 데이터전처리(3)(arrange,mutate)

이번에 소개할 함수는 arrange, mutate 함수입니다. arrange 함수는 데이터를 정렬할 때 쓰이며, mutate는 새로운 변수를 추가할 때 이용합니다. R 기본 내장 데이터인 mtcars 에 적용해보겠습니다. 이 데이터는 1974 년 Motor Trend US 잡지에서 발췌되었으며 연료 소비량과 자동차 디자인 및 성능에 관한 자동차의 10 가지 특징과 32 대의 자동차 (1973-74 모델)로 구성되어 있습니다. 이 데이터셋은 32개의 11개의 숫자형 변수로 이루어져 있습니다. 만약 연비 순으로 정렬하여 자동차의 리스트를 보고 싶다면 다음과 같이 입력합니다. mtcars %>% arrange(mpg) mpg 순으로 정렬을 하고나니 행별로 이름이 붙어있었던 게 숫자로 바뀌었습니다!! 이 문제를..

[R데이터분석] dplyr 패키지를 활용한 데이터전처리(2) (group_by, summarise)

group_by 와 summarise 함수를 활용한다면 범주별로 요약통계량을 계산할 수 있습니다. 예를 들어 R 내장 데이터인 iris 데이터셋을 이용해보겠습니다. iris 데이터셋에는 Species 라는 범주형 변수와 꽃받침(Sepal) 의 길이와 너비, 꽃잎(Petal) 의 길이와 너비를 포함하고 있습니다. iris 데이터의 구조를 보기 위해 str(iris) 라고 써주면 다음과 같은 결과가 나옵니다. 5개의 변수에 150개의 관측치과 각 변수 유형이 나와있습니다. Species 변수 유형은 factor 이고 나머지는 숫자형 변수로 구성되어 있네요. 이 때 Species 별로 각 변수의 요약통계량을 계산할 수 있습니다. * 본격적으로 들어가기 전에 파이프라인(%>%) 에 대한 내용을 알아보겠습니다. ..

[R데이터분석] dplyr 패키지를 활용한 데이터전처리(1)

dplyr 패키지는 데이터전처리에 유용한 함수들이 많습니다. 대표적으로 쓰이는 함수는 select, filter, group_by, summarise, arrange 와 같은 함수들이 있습니다. dplyr에 쓰이는 함수들은 이름만 보아도 그 쓰임새를 추측할 수 있습니다. dplyr 패키지의 R문서에는 다음과 같은 목표로 제작되었다고 합니다. 오늘은 먼저 select와 filter 함수 내용을 정리하겠습니다. 예제를 통해 test1 이라는 데이터를 생성하여 활용 방법을 알아봅시다. test1

반응형