[R] 파일 입출력
programming/r

[R] 파일 입출력

3. 파일 입출력

 

3.1 R에서 사용 중인 데이터의 저장 및 불러오기

# 벡터 형식의 데이터 선언
no <- c(1, 2, 3, 4)
name <- c('Apple', 'Banana', 'Peach', 'Berry')
prices <- c(500, 200, 200, 50)
qty <- c(5, 2, 7, 9)
# 벡터 형식의 데이터를 모아서 데이터 프레임 형식의 데이터로 구성
fruit <- data.frame(No = no, Name = name, Price = prices, QTY = q)
fruit

# 현재 선언된 변수 목록 확인
ls()
# no, name, fruit 을 test.dat 파일에 저장
save(no, name, fruit, file = "D:/data/R/test.dat")
# 저장된 파일을 확인, 에디터로는 읽을 수 없음
# 선언된 변수 삭제; 메모리에서 변수 제거
rm(fruit, no, name)

# no, name, fruit 변수 삭제 확인
ls()

# 변수를 읽어옴; 파일에 저장된 내용을 메모리로 복원
load("D:/data/R/test.dat")

ls()
no
name
fruit

 

 

3.2 엑셀 형태의 데이터 저장 및 불러오기

엑셀파일로 작업

[파일] - [다른 이름으로 저장] - [D:/data/R/a.csv]

 

헤더 부분을 지우고 [D:/data/R/b.csv] 로 저장

 

# csv 형(콤마로 구분된 자료형) 데이터를 읽어온다
x <- read.csv("D:/data/R/a.csv")
x
# 데이터 구조 확인
str(x)
# csv 파일에 헤더가 없는 경우
(xx <- read.csv('D:/data/R/b.csv', header = F))

# 헤더 추가
names(xx) <- c('id', 'name', 'score')
xx
# 파일에 저장할 데이터 만들기
no <- c(1, 2, 3, 4)
name <- c('Apple', 'Banana', 'Peach', 'Berry')
prices <- c(500, 200, 200, 50)
qty <- c(5, 2, 7, 9)

# 벡터 형식의 데이터를 데이터 프레임으로 변환
fruit <- data.frame(
  No = no,
  Name = name,
  Price = prices,
  QTY = qty
)
fruit

# 데이터를 csv 로 저장
write.csv(fruit, file = 'D:/data/R/fruit.csv')

 

 

3.3 텍스트 파일 저장 및 불러오기

test.txt 파일 작성

  • 필드 구분자는 공백 또는 탭으로 작성
  • 마지막 데이터에서 빈 줄을 반드시 삽입해야 함, 빈 줄이 삽입되지 않으면 "readTableHeader에 의하여 발견된 완성되지 않은 마지막 라인입니다" 에러가 발생함