Rdata 저장하기

- Rdata(.rda) : R의 고유의 저장 형식, R 객체를 저장할 수 있는 파일 형식  

*save(저장할 객체, file="저장경로/파일명.rda"):

 R 내장함수, 패키지 설치 필요없음

 저장할 객체를 저장할 경로에 rda파일로 저장함

 file=을 반드시 써야 함(생략 시 에러)

 

# Rdata 저장하기 
# 옵션에 file = 부분 생략 불가능, 반드시 입력 
iris_test <- iris
save(iris_test, file = "C:/★파일 저장할 경로★/iris.rda")

 

 

Rdata 불러오기

*load("파일경로/파일명.rda"):

  파일경로에서 rda파일을 불러옴, R내장함수

  저장한 객체명으로 불러와짐

  (위에서 iris_test 데이터프레임을 저장했으므로 rdata파일을 불러왔을 때 iris_test 데이터프레임이 불러와짐)

 

rm(iris_test)   # iris_test 객체 삭제 
iris_test       # iris_test 삭제 확인

 

# RData 불러오기 
load("C:/★불러올 파일 경로★/iiris.rda")
str(iris_test)  # iris_test 불러온 것 확인 

 

 

엑셀(xslx) 파일 불러오기

 

패키지 설치

# readxl 패키지 설치 
install.packages("readxl")
# readxl 패키지 로드
library(readxl)

 

엑셀 파일 불러오기

* read_excel("파일경로/파일명.xslx"): 파일 경로에 있는 엑셀 파일을 불러오는 함수

* read_excel("파일경로/파일명.xslx", sheet=2(몇번째시트인지)): 불러올 파일 내 몇 번째 sheet의 데이터인지 지정  

* read_excel("파일경로/파일명.xslx", col_names=F):

  colnames 옵션은 default값이 T(TRUE), 옵션 지정을 안할 경우 첫 행을 변수명으로 불러옴

  엑셀 파일의 첫 번째 행이 컬럼명이 아닐 경우 col_namse=F로 지정하고 불러옴

 

iris.xlsx
0.01MB

 

# xlsx파일 불러오기 
iris_xslx <- read_excel("C:/★파일이 저장되어 있는 경로★/iris.xlsx")
iris_xslx

 

 

csv파일 불러오기

*read.csv("파일경로/파일명.csv"): 파일경로에 있는 csv 파일을 불러오는 함수, 패키지 설치 필요없음 R 내장함수

*read.csv("파일경로/파일명.csv", stringsAsFactor=F): stringsAsFactor를 F로 지정하면 문자열을 chr 타입으로 불러옴,

 default값이 T여서 옵션 설정을 안하거나 T로 지정하면 문자열을 factor 타입으로 불러옴

iris.csv
0.00MB

 

read.csv( ) : csv파일 불러오기(기본)

# csv파일 불러오기 
iris_csv <- read.csv("C:/★파일이 저장되어있는 경로★/iris.csv")
str(iris_csv)

 

read.csv : stringsAsFactor 옵션 설정

# stringsAsFactor=F 옵션 추가 
# Species 변수를 chr 타입으로 불러옴
iris_csv2 <- read.csv("C:/★파일이 저장되어있는 경로★/iris.csv", stringsAsFactor=F)
str(iris_csv2)

 

 

csv 파일로 저장하기

* write.csv(저장할 객체, file="파일저장경로/파일명.csv"):

  저장할 객체(ex.데이터프레임)를 원하는 경로에 지정한 파일명의 csv파일로 저장함,

  R 내장함수로 패키지 설치 필요없음

  file= 은 써도 되고 안써도 됨

# csv 파일로 저장하기 
write.csv(iris_csv, "C:/★파일을 저장할 경로★/iris저장.csv")

 

데이터프레임 생성하기

- 데이터프레임(dataframe): R의 대표적인 데이터 구조, 행과 열로 구성된 테이블 형태로 데이터를 저장할 때 활용

- 아래의 표(iris 데이터 일부)와 같은 형태의 데이터 프레임 생성

Petal.Length Petal.Width Species
1.4 0.2 setosa
1.7 0.4 setosa
4.7 1.4 versicolor
4.9 1.5 versicolor
6.0 2.5 virginica

 

방법1. 컬럼 하나씩 생성 후, 데이터프레임 생성

# 컬럼별 변수 생성 
Petal.Length <- c(1.4, 1.7, 4.7, 4.9, 6.0)
Petal.Width <- c(0.2, 0.4, 1.4, 1.5, 2.5)
Species <- c("setosa", "setosa", "versicolor", "versicolor", "virginica")
# 생성한 변수 활용 데이터 프레임 생성 
iris_df <- data.frame(Petal.Length, Petal.Width, Species)
iris_df

 

 

방법2. 한 번에 데이터프레임 생성

iris_df2 <- data.frame(Petal.Length = c(1.4, 1.7, 4.7, 4.9, 6.0),
                       Petal.Width = c(0.2, 0.4, 1.4, 1.5, 2.5),
                       Species = c("setosa", "setosa", "versicolor", "versicolor", "virginica"))
iris_df2

 

 

1. ggplot2 패키지

- 시각화에 사용하는 대표적인 R 패키지

 

코드

 

# 1. ggplot2 패키지 설치하기, 로드하기 
install.packages("ggplot2") # ggplot2 패키지 설치
library(ggplot2)            # ggplot2 패키지 로드

 

 

 

2. qplot 함수 - 빈도 그래프 생성

- ggplot2의 qplot함수를 통해 빈도 그래프 생성 가능함

* qplot(data=데이터, x=x축변수, y=y축변수, geom='그래프형태', colour='색구분기준')

 

코드

 

# 빈도 그래프(1)
data <- c("가", "가", "나", "다", "다", "다")
qplot(data)

 

결과

 

 

 

코드

 

# 빈도 그래프(2): iris 데이터 활용 
str(iris)
qplot(data=iris, x=Species) # Species별 빈도 

 

결과

 

 

 

코드

 

# 빈도 그래프(3): x, y 축 설정 
qplot(data=iris, x=Sepal.Length, y=Sepal.Width)

 

결과

 

 

 

코드

 

# 빈도 그래프(4): 선 그래프 형태 
qplot(data=iris, x=Sepal.Length, y=Sepal.Width, geom='line')

 

결과

 

 

 

코드

 

# 빈도 그래프(5): Species별 색 표현  
qplot(data=iris, x=Sepal.Length, y=Sepal.Width, colour=Species)

 

결과

 

기술통계함수

- 기본적인 기술통계량을 계산하기 위한 함수

- 데이터의 특징을 요약해서 표현할 때 활용하는 함수들

*mean(데이터): 데이터의 평균

*median(데이터): 데이터의 중앙값

*max(데이터): 데이터의 최댓값

*min(데이터): 데이터의 최솟값

*var(데이터): 데이터의 분산

*sd(데이터): 데이터의 표준편차

*range(데이터): 데이터의 범위(최솟값 최댓값)

 

코드

 

x <- c(1,2,2,3,4,5)
x

mean(x)      # 평균 
median(x)    # 중앙값 
max(x)       # 최댓값  
min(x)       # 최솟값 
var(x)       # 분산
sd(x)        # 표준편차 
range(x)     # 범위

 

결과

 

 

 

산술 연산

- 사칙 연산 등 R에서 가능한 기본적인 연산

- 문자 값은 산술 연산 불가능함

 

코드

 

## 산술 연산

a<-5; b<-2; c<-'a'  # a는 5, b=2, c='a'일 때 

a+b      # + : 덧셈 
a-b      # - : 뺄셈
a*b      # * : 곱셈
a/b      # / : 나눗셈 

 

결과

 

 

 

 

코드

 

a%/%b    # %/% : 나눗셈 '몫' 
a%%b     # %% : 나눗셈 '나머지'  
a^b      # ^ : 제곱(a의 b제곱)

 

결과

 

 

 

코드

 

c+a      # 문자 연산 안됨 
c-1      # 문자 연산 안됨

 

결과

 

 

 

paste 함수

- 문자를 붙이는 데 활용되는 함수(엑셀의 CONCAT 함수와 동일한 기능)

- 구분자 지정을 통해 원하는 형태의 문자열을 생성할 수 있음

- 숫자만 들어있는 변수에도 사용 가능하며, 문자열 형태로 바뀜

*paste(문자, collapse = "구분자"): 문자 사이마다 구분자를 두고 붙임

 

코드

 

str <- c("A","B","C","D")
str2 <- c(1,2,3)
str
str2

paste(str, collapse = ",")    # 쉼표를 구분자로 문자 붙이기  
paste(str, collapse = " ")    # " "(공백)을 구분자로 문자 붙이기 

paste(str2, collapse = ",")   # 숫자에 사용할 경우, 문자열 형태로 바뀜 

 

결과

 

1. seq 함수

- sequence의 약자

- 일정 간격을 가지는 연속되는 숫자를 생성함

*seq(시작값, 끝값, by=간격) : 시작값부터 끝값까지 간격을 두고 생성함

                                      (간격의 기본값(default)은 1)

 

코드

 

## seq()
seq(1,10)              # 1부터 10까지 +1씩 생성(간격 default=1) 
seq(1,10, by=2)        # 1부터 10까지 +2씩 연속값 생성  
seq(1,10, by=3)        # 1부터 10까지 +3씩 연속값 생성 
seq(0,-10, by=-2)      # 0부터 -10까지 -2씩 연속값 생성 

 

결과

 

 

 

 

2. rep 함수

- repeat의 약자

- 특정 숫자/문자를 원하는 횟수만큼 반복 생성함

*rep(특정값, 반복 횟수): 특정값을 반복 횟수만큼 생성함

                               (반복 횟수 default =1)

 

코드

 

## rep()
rep(1)                 # 숫자 1을 1번 반복 생성(반복횟수 default=1) 
rep(1,5)               # 숫자 1을 5번 반복 생성 
rep("A",3)             # 문자 A를 3번 반복 생성 

 

결과

 

1. 도움말 검색

- 함수, 패키지에 대한 설명이 필요할 때 사용

- R Studio 오른쪽 하단의 Help 탭에서 궁금한 패키지, 함수명 입력 후 Enter 또는 돋보기 모양 클릭

 

 

 

 

2. help 함수

* help(함수, 패키지명) 함수: 함수, 패키지명을 정확하게 알고 있을 때 사용

* ?(함수 패키지명) 함수: help( ) 함수와 동일한 기능 제공

 

코드

 

## help 함수 
help(mean)            # mean 함수에 대한 설명을 보고 싶을 때 
?mean                 # help(mean)과 동일한 기능 제공 

 

결과

 

 

 

 

3. help.search 함수

- 찾고자 하는 패키지, 함수의 이름을 정확하게 모를 때 사용

- ? 또는 help 함수를 사용했을 때 안나올 경우에 사용

- ?mean을 실행할 경우 mean 함수에 대한 도움말이 나오지만,

??mean을 실행할 경우 mean이라는 텍스트가 포함된 함수,패키지에 대한 도움말 목록이 나옴

* help.search(특정 텍스트) 함수: 특정 텍스트가 포함된 함수, 패키지에 대한 도움말 목록 을 제공함

* ??(특정 텍스트) 함수: help.search( ) 함수와 동일한 기능 제공

 

코드

 

## help.search 함수 
help.search("linear models")   # linear models라는 텍스트가 포함된 도움말 목록 제공 
??linearmodels                 # help.search("linear models")와 같은 기능 제공 

 

결과

 

 

+ Recent posts