본문 바로가기

배우기/복습노트[R과 분석]

[복습] R(programming language)의 파일 입출력 + 하루끝(20231207)

728x90
반응형

1. read.csv: , 로 분리 구분된 파일을 불러오는 함수(데이터프레임으로 리턴)

  - sep = ','  : 분리구분기호

  - header = T  :  첫 번째 행을 컬럼화할지의 여부

  - skip  : 스킵할 행의 수

  - nrow : 불러올 행의 수

  - na.strings  : NA처리할 문자열

  - fileEncoding : encoding 형식

 

 

예) NA 처리할 문자열 전달 전/후 비교

 

 

 

 

2. read.table: 공백이나 탭으로 분리된 파일을 불러오는 함수(데이터 프레임으로 리턴)

  - sep = ''

  - header = F

 

 

 

3. scan :  벡터로 외부 파일을 불러옴

  scan(file = '',                   # 파일명(생략 시 사용자가 직접 입력)

           what = '',                # 문자형 데이터를 불러올 경우 빈 문자열 전달 필요('')

           sep = '',

          skip = '',

          na.strings = )

 

 

Line 1은 쉼표로 구분된 숫자 파일이고, 

Line 3은 엔터로 구분된 문자 파일이다. 그래서 옵션에 what =''을 넣었다.

 

 

사용자가 직접 입력할 수도 있다.

Line 1 경우에는 숫자만 입력이 가능하며, Line 3은 문자 옵션을 주어 문자를 입력할 수 있도록 하였다.

 

728x90

 

 

 

 

4. readLines : 라인 단위로 벡터의 원소로 넣음

  - 외부 파일을 벡터로 불러오며,

  - 라인별로 벡터로 원소를 불러오는 함수이다.

 

외부에서 파일을 불러올 때 마지막에 빈 라인이 있어야 파일의 끝이라고 생각한다.

예를 들어,

메모장 안에 

1,2,3

4,5,6

으로 끝나있는 파일이 있다.

만일 4,5,6을 끝으로 엔터가 있다면 위와 같은 오류는 없는데, 6에서 엔터 없이 끝나면 저런 오류가 뜬다.

그냥 무시하면 되겠다.

 

 

5. readline

사용자에게 단 하나의 값을 받아올 때 사용한다.

위와 같이 사용자에게 어떠한 값을 입력받기 위하여 사용한다.

 

 

6. write.table

write.table(x,                               # 저장할 객체

                  file = .                        # 파일명

                  sep = ',',                     # 필드구분자(write.csv 의 경우 sep 사용 시 오류 발생)

                  row.names = T,          # 행이름 출력 여부

                  col.names = T,           # 열이름 출력 여부

                  fileEncoding)

 

 

폴더에 아래와 같이 파일이 생성되었다.

 

열어보니 출력 형식대로 잘 출력된 것을 확인할 수 잇다.

Line2, 3은 , 로 구분된 자료가 저장되었고, Line 4는 공백으로 분리된 자료가 저장되었다.

 

 

 

R도 거의 끝나가는 것 같다.

 

728x90
반응형