1. dput/dget 예시


dput(저장)과 dget(읽기)을 이용하여 변수 값을 저장할 수 있다.


> m <- c(1,2,3)

> dput(m, file="m.R")

> m <- 0

> m

[1] 0

> m <- dget("m.R")

> m

[1] 1 2 3

>



dput으로 저장한 m.R에는 아래와 같이 저장된다.


$cat m.R

c(1, 2, 3)






2. dump /source 예시


dump는 저장, source는 읽기이다. 



> x<-"jonathan"

> y<-data.frame(a=1,b=2)

> dump(c("x","y"), file = "data.R")

> rm(x, y)

> x

에러: 객체 'x'를 찾을 수 없습니다

> y

에러: 객체 'y'를 찾을 수 없습니다

> source("data.R")

> x

[1] "jonathan"

> y

  a b

1 1 2

> str(y)

'data.frame': 1 obs. of  2 variables:

 $ a: num 1

 $ b: num 2



저장된 파일을 보면, 다음과 같은 형태로 저장됨을 확인할 수 있다.

$ cat data.R

x <-

"jonathan"

y <-

structure(list(a = 1, b = 2), .Names = c("a", "b"), row.names = c(NA, 

-1L), class = "data.frame")





3. 바이너리 저장은 save/load이다.


> x<-"jonathan"

> y<-data.frame(a=1,b=2)

> save(x, y, file = "data.rda")

> rm(x, y)

> x

에러: 객체 'x'를 찾을 수 없습니다

> y

에러: 객체 'y'를 찾을 수 없습니다

> load("data.rda")

> x

[1] "jonathan"

> y

  a b

1 1 2

> str(y)

'data.frame': 1 obs. of  2 variables:

 $ a: num 1

 $ b: num 2




참고로 현재 메모리에 올라와있는 모든 객체도 메모리에 저장할 수 있다. 

즉, R에서 작업 중인 메모리를 가지고 있다가 다른 컴퓨터나, 메모리를 깨끗히 지워진 상태에서도 다시 메모리 정보를 읽어올 수 있다. save.image()를 활용한다.


> aa<-1

> bb<-c(1,2,3)

> cc<-data.frame(a=1, b=2)

> save.image(file = "dump.rdb")

> rm (aa,bb,cc)

> aa

에러: 객체 'aa'를 찾을 수 없습니다

> bb

에러: 객체 'bb'를 찾을 수 없습니다

> cc

에러: 객체 'cc'를 찾을 수 없습니다

> load("dump.rdb")

> aa

[1] 1

> cc

  a b

1 1 2

> bb

[1] 1 2 3





'R' 카테고리의 다른 글

[R] 벡터 연산  (0) 2016.02.17
[R] str(), dput(), args() : 함수 원형 보기  (0) 2016.02.15
[R] NA  (0) 2016.02.14
[R] 묵시적 변환, 명시적 변환 예시  (0) 2016.02.14
[R] 평균 구하는 함수  (0) 2016.01.22
Posted by '김용환'
,