R Input & Output
1. 문자열을 다루는 함수들
(1) paste 함수 : 인수들을 하나의 문자열로 만드는 함수
(2) paste0 (vector1, vector2 ..., collapse = Null) : 공백없이 붙이기
(3) n char : 문자열의 갯수를 세는 함수
(4) sub str : 문자열에서 부분을 추출하는 함수
(5) str trim : 문자열을 자르는 함수
(6) str split : 문자열을 주어진 값으로 구분하여 자르는 함수
(7) Extended regular expression (확장 정규 표현식)
(+) 리스트를 벡터로 변환하기 - unlist()
: 기본적으로는 unlist() 함수를 사용해서 리스트를 벡터로 쪼개 버릴 수 있다.
[출처] [R 프로그래밍 :: 기본 개념편] 리스트(List) 란?|작성자 PN
x<-c(as="asfef", qu="qwerty",
"yuiop[", "b", "stuff.blah.yech")
strsplit(x, "e") #문자열을 주어진 값으로 구분하여 자르는 함수
strsplit(x, "[a-f]")
strsplit(x, "[aleu][ab]")
unlist(strsplit("a.b.c", ".")) #리스트를 벡터로 변환하기 - unlist()
unlist(strsplit("a.b.c", "[.]"))
unlist(strsplit("a.b.c", ".", fixed=TRUE))
2. 현재 작업 폴더 정보 관련 함수들
(1) get wd() : 현재 작업 폴더를 반환
(2) set wd (path) : 새로운 작업 폴더를 지정 / (폴더 구분" / " 사용)
(3) dir : 현재 작업 폴더 내의 파일이름을 문자열 벡터로 반환
(4) dir.create() 함수 : 디렉토리 (폴더) 생성 함수
(+) unlink(path) : 폴더를 지울때
(5) g rep (정규표현식, 탐색대상, value = F)
: 탐색 대상 내에서 정규표현식에 매치되는 값들의 위치를 반환
> value = T이면 실제값을 반환
(6) g sup (정규표현식, 바꿀문자열, 대상)
: 대상 내에 정규표현식에 해당하는 문자열들을 바꿀 문자열로 치환
> gsup('[ . ]exe', '.csv', t2] ----> [".exe" + 문자] 값을 리턴
getwd() #현재 작업 폴더를 반환
setwd('d:/') #새로운 작업 폴더를 지정 / (폴더 구분" / " 사용)
dir.create('example2') #디렉토리 (폴더) 생성 함수
setwd("example2") #새로운 작업 폴더를 지정 / (폴더 구분" / " 사용)
getwed() #현재 작업 폴더를 반환
dir('../') #현재 작업 폴더 내의 파일이름을 문자열 벡터로 반환
dir.create('./test') #디렉토리 (폴더) 생성 함수
dir('c:/windows') #현재 작업 폴더 내의 파일이름을 문자열 벡터로 반환
unlink("test", recursive = T); #폴더를 지울때
dir() #현재 작업 폴더 내의 파일이름을 문자열 벡터로 반환
?unlink #폴더를 지울때, 도움말
test = dir("C:/windows") ##현재 작업 폴더 내의 파일이름을 문자열 벡터로 반환
test
t1 = grep("^[A-Ca-c][a-z]", test) #정규표현식에 매치되는 값들의 위치를 반환
t1
t2=grep("[.]exe$", test, value=T)
length(colors())
colors()[1:5]
grep("red", colors(), value=T)
x11()
barplot(rep(3, length(cn), col=cn))
cn
x = c("010-31233-2134", "032-860-7642")
grep("010-[0-9]{3, 4}-[0-9]{4}", x) #정규표현식에 매치되는 값들의 위치를 반환
setwd('d:/example2') #새로운 작업 폴더를 지정 / (폴더 구분" / " 사용)
for(i in 1:20)
{
write.table(1:10, file=paste0('data_', i, '.txt'))
}
fname = dir(); fname
fname2 = grep('data_[0-9][.]txt', fname, value=T); fname2
fname3 = paste0(substr(fname2, 1, 5), "0",
substr(fname2, 6, nchar(fname2))); fname3
file.rename(fname2, fname3)
cbind(fname2, fname3) #행을 기준으로 열을 덧붙임
?file.rename
dir() #현재 작업 폴더 내의 파일이름을 문자열 벡터로 반환