본문 바로가기

Programming/R programming

R 명령어 모음

필수 R 명령어 모음

### Session 관리 함수 ###

 

  > ls() # 기억된 변수의 목록을 표시

  > names(mydata) # 데이타의 변수를 보여줌

  > rm(x) # 변수 x를 삭제함

  > rm(list=ls()) # 기억된 모든 변수를 삭제

  > search() # search path

  > str(mydata) # 데이타의 구조를 보여줌

  > dim(object) # 데이타의 dimension을 보여줌

  > head(mydata, n=10) # print first 10 rows of mydata

  > tail(mydata, n=5)# print last 5 rows of mydata

  > save.image() # 현재 작업공간을 저장함(Default path: C:\Program Files\R\rw1071) "*.RData" 파일이 생성됨

  > save.image("folder path") # R은 디렉토리 구분을 "\\" 또는 "/"으로 함에 주의

  

### I. 데이터 입출력 함수 ###

 

## I-1. 입력 관련 ##

 

  > scan() # 직접 입력을 받기 위한 함수. 엔터키 입력시 종료

  > scan(n=m) # m개의 값을 입력

  > scan(what="") # 입력값을 문자로 지정

  > scan(sep=",") # ,를 기준으로 데이터를 분리하여 입력 받음

 

  > getwd() # 현재 작업공간을 확인

  > setwd("C:\Users\PC\Documents\R") # 작업공간을 설정/변경

 

  > read.table("aa.txt") # 데이터 프레임으로 aa.txt를 읽어옴

  > read.table("aa.txt", header=T, row.ranmes=1) # 헤더와 행이름 지정

  > read.delim("aa.txt") # Tap deliminated 형식을 읽어옴

  > read.csv("aa.csv",header=T) # aa.csv 파일을 읽어옴

 

  > cat(x) # x변수의 내용을 화면에 출력

  > cat(x, file="aa.txt") # aa.txt에 벡터 x 출력

  > cat(mat, file="aa2.txt") # matrix 데이터도 벡터 형태로만 출력됨

  

## I-2. 외부 데이터 입력 관련 ##

 

  > library(foreign) # foreign 패키지를 이용

 

  > read.spss("file path") # SPSS 파일 읽기

  > read.ssd("file path") # SAS 파일 읽기

  > read.mtp("file path") # Minitab 파일 읽기

  > read.dta("file path") # Stata 파일 읽기

  

## I-3. 출력 관련 ##

 

  > write(mat, file="aa.txt") # 작업공간에 aa.txt 이름과 테이블형태로 데이터를 출력

  > write.table(mat, "aa.csv", sep=",", row.names=TRUE) # 작업공간에 aa.csv 파일을 생성

  

### II. 일반 자료 함수 ###

 

## II-1. 자료형 확인 ##

 

  > mode(x) # 데이터 x의 저장타입(mode)을 확인함

  > str(x) # 데이터의 각 열을 구성하는 자료의 mode를 확인

  > class(x) # 데이터 x의 저장 형태를 확인함

  > summary(x) # x의 자료요약

 

  > length(x) # 벡터 x의 길이(length)를 나타내게 함

  > dim(x) # 데이터 프레임의 행렬 크기를 표시

 

  > head(x) # 데이터의 위쪽 6행을 표시

  > head(x,n=m) # 데이터 x의 위쪽 m개 행을 표시

  > tail(x,n=m) # 데이터 x의 아래쪽 m개 행을 표시

  

## II-2. 벡터 관련 ##

 

# 1) 내장 벡터 #

 

  > letters # 알파벳이 저장되어 있는 벡터

  > month.name # 12달의 영어이름이 저장되어 있는 벡터

  

# 2) 벡터 일반 #

 

  > rnorm(n, mean=x, sd=y) # mean=x, sd=y를 따르는 n개의 난수 생성

  > rep(x,n) # x n번 반복하는 벡터를 생성

  > min(x) # 최소값

  > max(x) # 최대값

  > range(x) # 범위

  > sum(x) # 벡터 원소들의 합

  > prod(x) # 벡터 원소들의 곱

  > median(x) # 중간값

  > mean(x) # 편균값

  > var(x) # 분산

  > sd(x) # 표준편차

  > cor(x, y) # 상관계수

  > quantile(x) # 4분위수

  

# 3) 벡터 논리 #

 

  > which(x == "A") # 벡터 x에서 "A"의 인덱스 위치를 반환

  > match("A", x) # 벡터 x에서 "A"의 인뎃스 숫자를 반환

  > intersect(x, y) # x y간의 교집합을 반환

  > setdiff(x, y) # x에 대해 y의 차집합을 반환

  > union(x, y) # x y의 합집합을 반환

  > sort(x) # 오름차순 정렬

  > sort(x, decreasing=T) # 내림차순 정렬

  > sort(x, na.last=T) # 결측치인 NA를 가장 마지막으로 두고 정렬

  > order(x)

  > rank(x)

  

## II-3. 행렬 관련 ##

 

  > matrix(x, nrow=n, ncol=m) # x값을 가지는 n m열 행렬을 생성

  > apply(x, 1, fn) # x행렬의 각 행에 fn 함수 적용

  > apply(x, 2, fn) # x행렬의 각 열에 fn 함수 적용

  > t(x) # x행렬의 행과 열을 바꿈

  > x * y # 대칭원소간 곱셈을 수행

  > x%*%y # 행렬의 곱셈을 수행

  > x + y # 대칭 원소간 덧셈을 수행

  > x - y # 대칭 원소간 뺄셈

  > x / y # 대칭 원소간 나눗셈

 

  > x[n, m] # n m열의 원소

  > x[, m] # m열의 모든 원소

  

## II-4. 배열 관련 ##

 

   > array(x, dim=c(l,m,n)) # x값을 가지는 l m열의 n개 배열을 생성

 

 ## II-5. 데이터 프레임 관련 ##

 

  > data.frame(x, y, z) # x, y, z벡터를 가지는 데이터 프레임 생성

  > as.data.frame(x) # x를 데이터 프레임형으로 바꿈


   #sample dataframe의 city열의 이름을 city2로 변경

  > names(sample)[names(sample) == "city"] <- c("city2) 

   

 

  > edit(x) # 데이터 프레임 x 를 수정하는 gui 실행

 

  > names(x) # 변수명을 반환

  > colnames(x) # 열의 이름 반환/지정

  > rownames(x) # 행의 이름 반환/지정

  > rownames(data) = data[,1] # data first column 값을 rowname으로 지정

  > nrow(x) # 행의 개수

  > ncol(x) # 열의 개수

  > dim(x) # , 열의 차원(dimension)을 반환

  > mean(x) # 모든 열의 평균을 구함

 

  > x$a # 데이터 프레임의 a(벡터)을 추출하여 반환

 

  > attach(x) # 데이터 프레임의 각 변수를 메모리에 로드

  > detach(x) # 로드된 변수를 해제

 

  > data[1] = NULL # data first column을 삭제

  

### III. 그래프 함수 ###

 

## III-1. Hihg-level 관련 ##

 

  > plot(x) # matrix 또는 data.frame으로 plot을 그림

  > plot(x1, x2) # x1 x2를 각 축으로 dot plot을 그림

  > plot(x, n, m) # n에서 m 사이 범위에서 x를 그림

  > plot(data1, data2, xlab="x label", ylab="y label", main="제목", col=column, las=0/1/2/3)

 

  > barplot(data)

  > boxplot(data)

 

  > hist(data)

  > hist(data, main="제목", xlab="x", las=0/1/2/3, col="color", prob=TRUE/FALSE)

 

  > plotDensity(data)

  > pie(data)

  > persp(data) # perspective plot

  

## III-2. Low-level 관련 ##

 

  > points(data)

 

  > lines(data, col="color")

  > ablines(x=x1)

 

  > text(data)

  > axis(data)

  

## III-3. Trellis (격자) 관련 ##

 

  > xyplot

  > bwplot(data1, data2, data3, layout=c(column, rows, pages), main="제목")

  > histogram(data1, data2, data3, layout=c(column, rows, pages), main="제목")

 

  > par(mfrow=c(1,2)) # 1 2열로 plot 파티션 나누기


※ 제가 작성한 글은 아닙니다. 인용을 표기하고 싶은데 출처를 찾을 수가 없네요.

'Programming > R programming' 카테고리의 다른 글

난수 생성 함수  (0) 2016.01.04
R Visualization - Points() 함수  (0) 2015.11.20
R Visualization - plot() 함수  (0) 2015.11.19
벡터] 외적과 내적 계산  (0) 2015.07.06
R에서 누락된 데이터 처리하기  (0) 2015.06.30