R의 문법구조 데이터 입력 / 저장 / 불러오기 / 확인 데이터 인덱싱: [ _ , _ ] 결측값 지정 및 코딩변경: ifelse(), replace(), match() 등 변수 유형 변경: factor(), as.factor() 변수 계산을 통한 변수 생성: rowMeans, rowSums() 기술통계(내장): table(), mean(), summary() 등 기술통계(psych 패키지): describe(), describeBy()
1. R이란?
통계 분석용 무료 프로그래밍 언어
다양한 통계 기법이 '패키지'로 개발되어 있으며, 다운로드 하여 활용 가능
우수한 시각화 기능 제공
Python 과는 어떤 차이가 있는가? - 아직도 통계를 주로 다룰 때는 R을 주로 많이 사용한다. - Python은 최근 성장하는 데이터 사이언스 분야, 머신러닝 등 다양한 분야에서 활용하지만 통계 분석을 위해 코드를 개발하는 과정이 다소 복잡할 수 있음.
2. R studio 기본 화면 구성
3. R 명령문 기본 문법
함수(인수, 인수, 인수...) - 기본 내장 함수 제공, 기타 함수는 패키지를 활용한다. - 인수(argument) : 함수를 적용할 대상, 대상이 포함된 데이터, 옵션 등
객체이름<-데이터/함수 예시] mymodel<-lm(formula=Y~X1+X2, data=mydata,...) mymodel : 모형 객체 lm : 선형회귀 함수 formula=Y~X1+X2 : 인수 1 data=mydata : 인수 2
4. R 프로젝트 생성 기초
특정 분석을 관리하기 위한 폴더 생성 필요 (어떤 논문을 위한 분석은 하나의 프로젝트 폴더에서 관리)
[File] - [New Project...]클릭 →기존 폴더를 활용할 경우 [Existing Directory]
왼쪽 상단 (+)을 눌러 R script를 클릭
내용을 입력하고 ctrl+enter 하면 명령이 실행됨.
변수를 입력하려면 "<-"를 입력해야 함.
5. R 프로젝트 생성 기초(2)
c : 여러개의 값을 묶을 때 사용 rep : 반복한다. " : " : 하나씩 번호가 입력되 도록 함(?)
6. 엑셀(csv) 파일로 내보내기 및 불러오기
1) 엑셀 파일로 내보내기
2) 엑셀 파일에서 가져오기
단, 다시 불러오게 될 때에는 열 번호가 추가 되기 때문에 인수에 "row.names=F"를 추가할 것 인수의 순서가 중요한가? - 함수에 따라 중요할 수도 있고, 아닐 수도 있다. 모든 인수를 다 적어야 하는가? - 디폴트 값을 고려하라.
str(mydata) : 'data.frame': 300 obs. of 19 variables 하고 데이터를 보여 head(mydata) : 위에서 부터 6개 행 tail(mydata) : 아래서 부터 6개 * $ 쓰면 데이터에 있는 변수를 볼 수 있음.
3) 데이터 인덱싱
- 자료의 k번째 열 dt[17] dt[,17] : ","의 위치에 주목, 불러오는 형태가 달라짐 (길게 나오지 않고, 가로로 쫌 퍼져서?) dt[17:18]
- 변수명을 통한 인덱싱 dt["K.score"] dt[c("K.score","E.score")]
- 자료의 k번째 행 dt[14,] : ","의 위치에 주목 dt[14,2]
-조건에 해당하는 케이스 (인덱싱!쉼표! 케이스를 찾는 것이므로) dt.male<-dt[dt$genderR==0,] dt.Khigh<-dt[dt$K.score>mean(dt$K.score, na.rm=TRUE),] - na.rm=TRUE : 결측값이 있는 위치의 값들은 평균 계산 시 무시
replace(x, test, replacement value) : dt$E.score <- replace(dt$E.score, dt$E.score==-9, NA) 참고 : 이상 '>=', 이하 '<=' 참고 : 같지 않을 때 '!=' / 조건 자체를 부정할 때 !(조건)