엑셀에서 원하는 부분만 선택 후 ctrl+c 로 복사하세요.

그 후 아래 명령을 수행하세요

 

> fruits6 <- read.delim("clipboard",header=T)

> fruits6

  no   name price qty

1  1   apple   500   6

2  2 banana   400   4

3  3  peach   300   3

4  4   berry   200   2




write.table( ) 함수로 파일에 저장하기


> write.table(fruits6,'fruits6.txt')

> fruits6_2 <- read.table('fruits6.txt',header=T)

> fruits6_2

  no   name price qty

1  1  apple   500   6

2  2 banana   400   4

3  3  peach   300   3

4  4  berry   200   2




excel 파일 형식으로 저장하기 


> install.packages("WriteXLS")

> library(WriteXLS)

> name <- c("Apple","Banana","Peach")

> price <- c(300,200,100)

> item <- data.frame(NAME=name , PRICE=price)

> item

    NAME PRICE

1  Apple   300

2 Banana   200

3  Peach   100

> WriteXLS("item","item.xls")




XML 형식으로 저장하기


> install.packages("XML")

> library(XML)

> install.packages("kulife")

> library(kulife)

> name <- c('Apple','Banana','Peach')

> price <- c(300,200,100)

> item <- data.frame(NAME=name,PRICE=price)

> item

    NAME PRICE

1  Apple   300

2 Banana   200

3  Peach   100

> write.xml(item,file='item.xml')







readLines( ) / read.table( ) / read.csv( ) 의 차이점




> txt1 <- read.csv("csv_test.txt")    //정상적으로 불러집니다

> txt1 

  번호  이름 가격

1   1   사과 1000

2   2      배 2000

3      귤 3000



> txt2 <- readLines("csv_test.txt")     //파일의 여러 줄을 한 줄로 쭉 불러옵니다

> txt2

[1] "번호,이름,가격"  "1,사과,1000" "2,배,2000" "3,귤,3000" 

[5] "" "" 



> txt3 <- read.table("csv_test.txt")     //컬럼 구분을 하지 못합니다

> txt3 

         V1

1   번호,이름,가격

2     1, 사과, 1000

3     2,    배, 2000

4     3,    귤, 3000



> txt3 <- read.table("csv_test.txt",sep=",")     // sep 로 컬럼 구분은 했으나

> txt3                                                      //컬럼 이름을 자동으로 붙입니다. 

    V1    V2   V3

1  번호 이름 가격

2     1 사과  1000

3     2    배  2000

4     3    귤  3000



> txt3 <- read.table("csv_test.txt",sep=",",header=T)     //read.csv 와 동일합니다

> txt3 

  번호   이름    가격

1     1   사과   1000

2     2     배    2000

3     3     귤    3000







저장하는 다양한 방법들 정리하기


[readLines( ) -> write]


> txt1 <- readLines("write_test.txt")

> txt1

[1] "이 문장은 write 연습하는 문장인데" "별로 어렵지 않아요“

[3] "열심히 해주세요" 


> write(txt1,"write_test2.txt")

> txt2 <- readLines("write_test2.txt")

> txt2

[1] "이 문장은 write 연습하는 문장인데" "별로 어렵지 않아요" 

[3] "열심히 해주세요"










[read.table( ) -> write.table( ) 로 저장하기]




> txt1 <- read.table("table_test.txt",head=T)

> txt1 

  번호   이름   가격

1    1   사과   1000

2    2     배    2000

3    3     귤    3000

 

> write.table(txt1,"table_test2.txt")

> txt2 <- read.table("table_test2.txt",head=T)

> txt2 

  번호   이름   가격

1    1   사과   1000

2    2     배    2000

3    3     귤    3000









[read.csv( ) -> write.csv( ) 로 저장하기]




> txt1 <- read.csv("csv_test.csv")

> txt1 

  번호   이름   가격

1    1   사과   1000

2    2     배    2000

3    3     귤    3000


> write(txt1,"csv_test2.csv")     //에러 발생합니다

Error in cat(list(...), file, sep, fill, labels, append) : 

타입 'list'인 인자 1는 'cat'에 의하여 다루어 질 수 없습니다


> write.table(txt1,"csv_test2.csv")

> txt2 <- read.csv("csv_test2.csv")

>txt2     //아래 결과가 이상하죠? 

  번호.이름.가격

1    1 사과 1000

2    2 2 배 2000

 3 3 귤 3000


> write.csv(txt1,"csv_test3.csv")

> txt3 <- read.csv("csv_test3.csv")

> txt3     // 가장 왼쪽에 새로운 번호 부분이 추가로 생성되어 있습니다. 

   X  번호  이름  가격

1 1      1  사과  1000

2 2      2     배  2000

3 3      3     귤  3000










[readxl( ) -> write.xlsx( ) 로 저장하기]


>install.packages("xlsx")

>library(xlsx)

>write.xlsx(item, "item.xlsx")








출처

더알음 네이버카페 : http://cafe.naver.com/theareum

R라뷰 개정판 실습데이터 모음 :  https://www.dropbox.com/s/16ytsq4q3rdaro4/%EB%8D%94%EB%A7%8E%EC%9D%B4_R%EB%9D%BC%EB%B7%B0_%EA%B0%9C%EC%A0%95%ED%8C%90%EC%9A%A9_%EC%8B%A4%EC%8A%B5%EC%9A%A9_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%AA%A8%EC%9D%8C.zip?dl=0


+ Recent posts