고정길이 포맷 데이터
txt_f <- read.fwf("d:/r_class/sample.txt",widths=c(1,2,3,2,2,2,2,3,2))
txt_f
d:\r_class\sample.txt
M 1 18 2 1 4 5 42 1
F 1 19 2 1 5 5 42 3
F 1 20 3 1 4 5 43 2
F 1 21 3 2 3 4 45 7
F 1 22 3 2 4 4 45 3
F 1 23 3 3 2 3 47 5
F 1 24 3 3 1 2 49 5
F 1 25 4 3 2 2 50 1
F 1 26 5 4 3 3 51 5
F 1 27 5 4 4 5 52 5
scan( ), readline( ) 함수를 이용하기
SAS 데이터(확장자 .sas7bdat) 데이터(확장자. sas7 bdat)를 읽어 들이려면 패키지 sas7bdat을 이용합니다.
우선 sas7bdat 패키지를 설치하고 로드합니다.
scan( ) 함수 이용하기
(1) 키보드에서 읽기
> vec01 <- scan("")
> vec01
(2) 텍스트 파일에서 읽기
10 20 30
40
50
> vec01 <- scan("d:/r_300/10_scan_01.txt")) #
Read 5 items
[1] 10 20 30 40 50
> setwd("d:/r_class")
> (vec01 <- scan("scan_01.txt"))
(3) 소수점이 있는 경우
소수점이 있는 경우에는 전부 실수로 변환되어 읽어집니다..
10 20 30
40.4
50
> vec01 <- scan("scan_02.txt"))
Read 5 items
[1] 10.0 20.0 30.0 40.4 50.0
(4) 문자가 있는 경우
문자가 포함되어 있는 경우에는 아무런 옵션이 없으면 에러가 발생합니다. what="" 옵션을 지정하여 사용하면 되는데 전부 문자로 읽어 들입니다.
10 20 30
abc
50
> vec01 <- scan("scan_03.txt"))
Error in scan("scan_03.txt") : scan() expected 'a real', got 'abc'
(vec01 <- scan("scan_03.txt",what=""))
Read 5 items
[1] "10" "20" "30" "abc" "50"
(5) 한 줄씩 읽어 들일 때 - sep="\n" 옵션 지정
(vec01 <- scan("scan_03.txt",what="",sep="\n"))
Read 3 items
[1] "10 20 30" "abc" "50"
readline( ), readLimes( ) 함수 이용하기
한 줄씩 읽어 들이는 함수로 readline( )과 readLines( ) 함수가 있습니다.
(1) readline()
#10 20 30
#abc
#50
#(vec01 <- scan("d:/r_class/10_scan_03.txt",what="",sep="\n"))
[1] "10 20 30" "abc" "50"
> (vec02 <- readLines("d:/r_class/scan_03.txt")) # what 옵션 안 쓰도 됨
[1] "10 20 30" "abc" "50"
> class(vec02) # [1] "character"
> is.vector(vec02) # [1] TRUE
(2) read.table 의 경우
# 문자와 숫자가 섞여 있는 경우 - read.table() 이용
# M 150
# F 155
# M 160
> (vec01 <- scan("d:/r_class/scan_04.txt",what=""))
# [1] "M" "150" "F" "155" "M" "160"
> (vec01 <- read.table("d:/r_sample/10_scan_04.txt"))
# [1] "M" "150" "F" "155" "M" "160"
# V1 V2
#1 M 150
#2 F 155
#3 M 160
'SAS연습 200제 > 3. 외부파일다루기' 카테고리의 다른 글
(R)제05강(00)_외부파일 다루기(R1) 목차 (0) | 2021.12.13 |
---|---|
(R)제05강(01)_텍스트파일 다루기 (0) | 2021.12.13 |
(S)제04강(00)_외부파일 이용하기(SAS) - 목차 (0) | 2021.12.13 |
(S)제04강(01)_텍스트파일 다루기(SAS) - INFILE 문 (0) | 2021.12.13 |
(S)제04강(01)_텍스트파일 다루기(SAS) - 메뉴 이용 (0) | 2021.12.13 |