R - Command
R Command
1. 기본
> getwd( ): 작업경로 확인
> setwd(" "): 작업경로 설정 - " " 안에 주소를 넣고 /를 사용할 것
> length( ): 길이 확인
> rbind( , ), cbind( , ) : 행렬로 묶기
> str( ): 구조 확인
> head( A, n): A에서 n만큼 확인 / tail( ) / some( )
> order( ): 정렬
> sort(A, decreasing=F): 기본이 오름차순, T면 내림차순 정렬
> rank(A): 순위에 색인을 매기는 것
- na.rm=F: NA가 첫번째로 매겨짐
- na.rm="keep": NA 그대로 둠
- na.rm=NA: NA 제거
> summary( )
> is.na( ): 결측값 확인
> is.infinte( ): 무한값 확인
> colSums(is.na(df)): df의 결측값이 각각 몇개인가
> ifelse(test, yes, no): test가 TRUE이면 yes 반환
> identical(A, B): A와 B가 동일한 벡터인가?
2. 생성
1)
> seq(from = , to= , by= ): 수열 생성
> rep( A , B ): A를 B만큼 반복하는 수열 생성
> matrix( A, B, C, byrow=F): A를 B행 C열 행렬로 생성 / 열기준으로
> data.frame(벡터, 벡터, ... ): 데이터 프레임 생성
> attach( ) , detach( ): 변수 지정, 해제
> quantile( 변수, probs = 범위)
2) 분포
> sample(x, n, replace=T, prob= ): 유한 모집단 추출
> rnorm(n, mu, 시그마): 정규분포
> runif(n, a, b): 균일분포
> rexp(n, lambda): 지수분포
> rbinom(n, k, p): 이항분포
> rpoisson(n, mu): 포아송 분포
3. 연산
> rowMeans, colMeans: 행, 열 평균 계산
> rowSums, colSums: 행, 열 합 계산
> rowNames, colNames: 행, 열에 이름 붙이기
> round( n , digits): n을 반올림 (digits = -1, 0, 1) = (소수점 위, 원점, 소수점 아래)
> mean(X, na.rm=T)
> df1 <- na.omit(df): NA값 모두 제거함
> df[is.na(df)] <- 0: 0으로 결측값 대체
> any(조건): 조건 중 하나라고 TRUE면 TRUE
> all(조건): 모두 TRUE여야 TRUE
> cumsum, cumprod: 누적 합, 곱
> cummax, cummin
4. 분석
1) 데이터 읽기
> readLines("t.txt", n=10): 파일에서 n만큼 라인들을 읽어서 문자열의 목록으로 반환
> scan ("t.txt", what= list(character(0), numeric(0) ) )
- 한 번에 하나의 토큰을 읽어서 지시에 따라 처리
- what
- what=numeric(0) 다음 토큰을 숫자로 해석
- what=integer(0) 다음 토큰을 정수로 해석
- what=complex(0) 다음 토큰을 복소수로 해석
- what=character(0) 다음 토큰을 문자열로 해석
- what=logical(0) 다음 토큰을 논리값으로 해석
- 추가 기능
- n = number 이만큼의 토큰을 읽고 멈춰라
- nline = number 이만큼의 입력라인을 읽은 다음에 멈춰라
- skip = number 데이터를 읽기 전에 건너뛰는 입력라인의 개수
- na.strings=list NA로 해석될 문자열 리스트
2) 적용
> apply( A , margin, F): A에게 margin(1은 행, 2는 열)으로 F함수 적용
- lapply(list, f): 리스트에 적용
- sapply(list, f): 결과를 단순화하여 백터/행렬/배열로 출력
- vapply: 결과물의 형태 지정
- tapply(x, y, f): x를 y로 구분하여 f 적용 (table) / 쪼갬의 대상이 벡터인 경우
- split(df, f): 데이터프레임에 적용 / 쪼갬의 대상이 DF인 경우
> aggregate( x, list(f,g), f): x를 f와g의 조합으로 쪼개서 f적용
> cov(A, B)
> cor(A, B, use='complete.obs', method= 'pearson')
- use-'complete.obs': 결측값이 모두 제거된 상태에서 상관계수 계산
> cor.test( ): 상관계수 가설 검정
> corrplot 패키지 설치 후, > corrplot(X)
> lm(Y~X1 + X2 ... ): 회귀분석
> table(f, z): 교차표
addmargins( table(f,z) ): 주변합계 추가
5. 그래프
> hist(df$N, main = " ", xlab = " ", ylab= " ", breaks = 30, col = "red", freq = FALSE)
- freq=F: 히스토그램의 빈도를 확률로 나타내라 (T는 빈도를 기본값으로)
- xaxt="n": x축 값 제거
- axis(side = 1, at = seq(60, 300, by=20) ): 1가로2세로 / 60부터 300까지 20간격으로
> boxplot ( ~ , horizontal = TRUE): 수평
- ~로 변수 연결하여 여러 박스 도표 생성
- las=1: x축 범위의 값을 가로로 표현 (2는 세로로)
> qqnorm(변수), qqline(변수)
> plot(A ~ B): A와 B의 산점도
- cex= 1: 크기
- pch= 1: 모양
- xlim="x축 값의 출력범위 지정"
- lty: 출력되는 선의 형태 지정
> pairs( iris[1:4] ): plot을 복합적으로 동시에 그림
> abline( m1, col='blue' ): 회귀직선 그리기
6. 편집
1) 데이터프레임
> df$Names <- c(1, 3, "M"): 변수 추가
> transform(df, variable = ' ' ) : 변수 추가
> merge(df1, df2, key = ' '): 데이터프레임 결함
> names(df) <- c("A", "B"): 변수명 변경
> reshape패키지 설치 후 -> df <- rename(" ", " ")
> df[ which (조건), 변수선택 ]: 변수 선별
> subset ( df, select= 변수선택, subset = 조건 )
subset(Salaries, yearID==2013)
> N [ order( N ) ]: df 내 변수 정렬
> df [ order (df) , ]: df 전체 정렬
2) 리스트
> L[4] <- c(2,5) 리스트 원소 추가
> L[[1]]: 리스트 원소 추출
> L[1] / L[c(1,2)]: 리스트 하위리스트 추출
> list(M=3, m=2, c=2): 하위리스트 이름 붙이기
> unlist( ): 리스트의 내부구조 삭제
- 활용: mean ( unlist(lt) )
3) 벡터
> v <- (v, 2): 벡터 추가 / v[10] <- 3
> append( v, newvalues, after=n): newvalues를 v안의 n뒤에 삽입> factor(v): 벡터v를 요인으로 표현 * 수준(Level): 범주형 변수에서 나올 수 있는 모든 값
* 요인(Factor): 수준으로 이루어진 벡터
> f <- factor( c( "win", "lose", "tie", "lose", "win") )
댓글
댓글 쓰기