R 조건 변수 생성 - R jogeon byeonsu saengseong

화양연화

R

R 열 한 번째 - 파생 변수 만들기

소펭 2020. 5. 4. 03:22

파생변수 만들기

파생변수는 간단하게는 조건에 맞는 새로운 변수를 뜻합니다.

예시를 보면서 조금 더 자세하게 이해를 해보도록 하겠습니다.

dt <- data.frame(var1 = c(77,62,84),var2 = c(24,16,21),var3 = c(32,4,53))
dt$var_mean <- dt$var1+dt$var2+dt$var3/3
dt

이 소스코드는 데이터 프레임에 3가지 백터를 입력한 뒤 각각의 백터에 대한 평균값을 칼럼을 추가합니다.

R 조건 변수 생성 - R jogeon byeonsu saengseong

실행을 하면 칼럼에 열이 하나가 추가된 것을 확인하실 수 있습니다.

열에 추가된 변수가 우리가 만든 파생 변수입니다. 기존의 변수를 변형하여 만든 변수를 파생변수라고 하지요.

파생변수 조건 넣기

우리는 파생변수를 만들 때 일정한 조건에 따라 다른 값을 넣어주는 소스코드를 만들 수 있습니다.

우선 비교를 할 때 사용하는 명령어는 ifelse입니다.

ifelse(비교값, "조건이 맞았을 때의 값","조건이 틀렸을 때의 값")

이러한 형식으로 사용됩니다.

ifelse(dt$var_mean >= 100,"true","false")

이 소스코드는 평균이 100점 이상이면 true를 반환하고 이하이면 false를 반환하는 소스코드입니다.

실행하면 다음과 같은 결과를 얻을 수 있습니다.

R 조건 변수 생성 - R jogeon byeonsu saengseong

이제 이 결과를 파생변수로 만들어서 칼럼에 넣어보도록 하겠습니다.

dt$dt_tf <- ifelse(dt$var_mean >= 100,"true","false")
dt
R 조건 변수 생성 - R jogeon byeonsu saengseong

값이 깔끔하게 잘 나왔습니다.

이렇게 여러 가지 방법으로 응용을 할 수 있습니다. 

이번에는 파생변수에 대해서 알아보았는데 ifelse의 비중이 조금 큰 것 같기는 합니다.

그래도 둘 다 알아두면 굉장히 좋기에 어렵더라도 공부해보도록 합시다.

Must Learning with R 0. Intro 1. R 기본 문법 Ch2. R 기본 문법 1단계 - 1 1. 할당 및 논리문 2. c()의 활용 3. rep(), seq()를 활용한 수열 만들기 4. data.frame()을 통해 데이터 셋 만들기 5. 괄호의 활용 6. 변수 형태 이해하기 7. as & is를 통해 strings 확인하기 8. sample()을 활용한 무작위 샘플 데이터 만들기 9. for(){}, if(){} 명령어를 활용한 자동문 만들기 9.+1 = 10. function(){}을 활용한 사용자 함수 만들기 9.+2 = 11. 패키지 설치하기 Ch2. R 기본 문법 1단계 - 2 1. 데이터 설명 2. 데이터 불러오기 3. 조건에 맞는 데이터 가공하기 4. 집계된 데이터 만들기 Ch3. R 데이터 시각화 1편 1. ggplot2 기본 문법 2. 막대 도표(Bar plot) 3. 히스토그램 4.밀도그래프 5. 박스플롯 6. 산점도 Ch4. R 기본문법 1단계 - 3 1. 원하는 통계값 뽑아내기(요약, 분위수, 행&열별 통계값) Ch5. R 기본문법 2단계 1. 데이터 불러오기 2. 결측치 처리 3. 이상치(극단값, Outlier) 뽑아내기 4. 문자열 데이터 다루기 1편(문자열 추출/붙이기/분리/대체) 5. 문자열 데이터 다루기 2편(텍스트 마이닝 1편) 6. 문자열 데이터 다루기 2편(텍스트 마이닝 2편) Ch6. R 중급문법 1단계 1. dplyr 패키지 및 %>% 2. 중복데이터 제거 및 정렬 3. Reshape 패키지를 활용한 데이터 구조 변환 4. 데이터 합병하기(Merge) Ch7. R 중급문법 2단계 0. dplyr을 활용한 데이터 핸들링 - 데이터 불러오기 1. dplyr을 활용한 데이터 핸들링 - 집계 데이터 만들기 2. dplyr을 활용한 데이터 핸들링 - 데이터 Sampling 2.1 조건에 따라 데이터 추출하기 2.2 데이터 중복 제거하기 2.3 샘플 데이터 무작위 추출 2.4 정해진 Index에 따라 데이터 추출하기 2.5 데이터 정렬하기 2.6 원하는 변수(Column)만 뽑아내기 2.7 새로운 변수 만들기 혹은 한번에 처리하기 3. 논문 작성에 필요한 R ggplot2 시각화 1. ggplot2 기본 설정 1.1 ggplot2 기본 작성 순서 1.2 테마 변경 1.3 범례(Legend) 변경 1.4 축 변경 1.5 색 변경 1.6 글씨체 변경 1.7 그래프 분할 및 대칭 변환 2. ggplot2의 활용 2.1 Bar Chart 2.2 Histogram 2.3 Density plot 2.4 Boxplot & jitter plot 2.5 Violin plot 2.6 Scatter plot 2.7 Smooth plot 2.8 abline, vline, hline 2.9 Step plot 2.9+1 Density_2d_plot 2.9+2 Text Plot 2.9+3 Line plot & Timeseries Plot 2.9+4 Vertical Error bar plot 2.9+5 Horizontal Error bar plot 2.9+6 Corr Plot 2.9+7 Heat Map 2.9+8 Ribbon Plot 2.9+9 Ridge Plot 2.9+I0 Area Plot 2.9+I1 Polygon Plot 2.9+I2 Rect Plot(Waterfall Chart) 3. ggplot2 응용 3.0 데이터 생성 코드 3.1 Bar + text plot 3.2 Bar + Errorbar with Different Category Variable 3.3 Boxplot + summary + Axis Customizing 3.4 Boxplot + Difference Test 2. 통계 이론 1부 Ch2. 표본공간과 확률변수 Ch2. 확률분포 2.1 이산형 확률분포(이항/다항/포아송) 2.2 연속형 확률분포(정규분포) 2.3 모수(parameter)와 통계량(statistic) 2.4 t-분포(t-distribution, Student's t-distribution) 2.5 카이제곱 분포와 F분포 Ch3. 통계적 추정과 검정 3.1 점추정 3.2 구간추정 3.3 가설검정 3. 통계 이론 2부 Ch2. 통계 모형 Preview 1. 분석모형을 선택하는 기준 2. 분석모형별 가설 검정 Ch2. 차이를 보는 분석(t-검정, 분산분석) 1. t 검정 2. t 검정(R Code) 3. 분산분석 4. 분산분석(R Code) Ch3. 관계를 보는 분석(회귀분석) 1. 회귀분석 2. 회귀분석(R Code) Ch4. 범주형 자료분석 1. 비율의 비교 2. 카이제곱 독립성 검정 3. 카이제곱 독립성 검정(R Code) 4. 로지스틱 회귀분석 5. 로지스틱 회귀분석(R Code) 4. 통계 이론 3부 Ch2. Likelihood(가능도)와 Maximum Likelihood Estimation(최대 가능 추정치) 1. 가능도와 가능도함수 2. 최대가능도 추정량(Maximum Likelihood Estimation, MLE) 3. 가능도에 따른 변수 선택법 Ch2. 다변량 자료분석 1. 차원축소(주성분 분석) 2. 차원축소(주성분 분석, R Code) 3. 군집분석 3.1 유사도(Similarity) 3.2 계층적 군집분석 3.3 계층적 군집분석(R Code) 3.4 비계층적 군집분석 3.5 비계층적 군집분석(R Code) 5. 기계학습 Ch2. 기계학습에 대한 정의 Ch2. 기계학습에서 주의할 점 Ch3. 앙상블(Ensemble) 기법 1. Boosting 2. Bagging Ch4. Resampling 방법론 1. Resampling의 목적과 접근 방식 2. Leave-One-Out Cross Validation(LOOCV) 3. K - Fold Cross - Validation Ch5. 분산 - 편차의 Trade - off 관계 1. MSE(Mean Squared Error) 2. Variation & Bias 3. 선형 & 비선형 Modeling 4. Trade - Off Ch6. 경사하강법(Gradient Descent) Ch7. 경사하강법(Gradient Descent, R Code) Ch8. Decision Tree & Random Forest 1. 의사결정나무(Decision Tree) 2. Random Forest 3. Decision Tree & Random Forest(R Code) 6. 추가 예정목록