반응형

R데이터분석 11

[R] seq 함수 (숫자 연속으로 나열하기)

seq 함수(숫자 연속으로 나열하기) 1. seq 함수 seq 함수는 숫자를 연속적으로 생성하기 위한 것입니다. 시작번호와 끝번호를 지정하면 순차적으로 수가 나열되며 by 인자를 통해 간격 조정도 가능합니다. 아래는 seq 함수 사용을 위한 각 인자에 대한 설명입니다. seq( from = # 시작 번호 to = # 끝 번호 by = # 간격 length. out = # 결과값(벡터)의 길이 2. seq 함수 예시 from에 1을 지정하고 to에 5를 지정하면 1부터 5까지의 순열이 생성됩니다. 이 때 by를 생략하면 기본값으로 1이 인식됩니다. 만약 숫자 간격을 1 이 외의 수로 지정하고 싶다면 by 인자에 수를 따로 지정해야 합니다. length.out 인자는 결과값(벡터)의 길이를 지정합니다. 예를..

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

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

[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데이터분석] 간단하게 변수 이름 변경하기

데이터프레임의 변수 이름을 바꾸는 방법에 대해 알아보도록 하겠습니다. 아래 그림의 왼쪽 테이블의 변수 이름은 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..

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

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

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

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

[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

[R데이터분석] factor함수 범주형 변수 다루기

[R데이터분석] 범주형 변수 다루기 (factor함수 활용) 이번 포스팅은 factor형 데이터 타입에 대해 자세히 알아보겠습니다. R의 factor형은 범주화된 변수의 종류를 나타내기 위해 사용합니다. 범주형 자료란 변수를 특정 기준으로 배타적으로 나눌 수 있는 자료입니다. 예를 들면 다음과 같은 자료입니다. 성별(남/여), 학점(A/B/C/D/…), 지역(서울시/경기도/충청도/강원도/…) R에서 범주형자료를 다룰 때는 문자형 자료와 잘 구별할 수 있어야 합니다. 미리 범주형인지 문자형인지 확인하고 적절하게 분석 목적에 맞게끔 변환시켜야 합니다. 이러한 과정들이 모두 데이터전처리의 일부입니다. factor 함수 형태는 다음과 같습니다. 여기서 예제를 하나 보겠습니다. 데이터에는 카페 별 커피 가격이 나..

[R 데이터분석] 조인(join) 을 이용하여 데이터 병합하기(inner join, full join, left join, right join)

join 을 활용한 데이터 병합하기 데이터 병합에 대한 내용을 알아보겠습니다. 이전에 cbind 함수를 통해 데이터 병합에 대한 내용을 다룬 적이 있었죠. cbind는 테이블과 테이블을 바로 옆에 붙이는 역할이었는데요. 데이터 병합 시에 cbind보다는 join 방법을 많이 씁니다. join은 키(key)를 기준으로 데이터를 병합하는 역할인데요. cbind는 키를 고려하지 않고 행의 수가 반드시 같아야 합니다. Join 을 알아보기 위해 아래의 예시를 보도록 하겠습니다. 위와 같이 각 테이블별로 이름이 있고 수학점수와 영어점수가 따로 나뉘어져 있습니다. 그런데 각 테이블을 병합하여 한 번에 보고 싶을 수도 있겠죠? 이 때 join 방법을 쓰는데 몇 가지 종류가 있습니다. inner join full ou..

반응형