R은 2년전에 데이터분석을 위해 잠깐 사용해본 적이 있다. python으로 다루면 내용이 더 쉬웠을 것 같지만 원리는 비슷할테니 새로 배운다는 생각으로 공부하면 될 것 같다.
source(file_name) - 스크립트 파일 실행
sink(file,append,split) - R 실행 결과를 특정 파일에서 출력
append False = 덮어쓰기split False= 파일에만 표기 ( True일 경우 콘솔에도 표기 )pdf(file_name) - 그래픽 출력을 pdf 파일로 지정
dev.off() - 파일 닫기
$R CMD BATCH batch.Rinteger / doubleTrue(T) / False(F)"a" / "abc" print() - 출력
a <-1 / a=1 - 값 할당
ls() / ls.str() - 변수 목록확인
rm() - 변수 삭제 rm(list=ls()) - 모든 변수 삭제
c() - 벡터 생성 ( 하나라도 문자면 모든 원소는 문자 )
function() 함수 정의
a<-1 a=1 / 할당
a, print(a) / 출력
x <- c(1,2,3,4)
x <- c(6.2,3.1,2.2)
x <- c("fee","fe","faa")
x <- c(x,y,z)
1:5 / (1,2,3,4,5)
9:-2 / (9,8,7,--- 0,-1,-2)
seq(from=0,to=20,by=2) / (0 , 2, 4 , --- , 18 , 20 )
rep(1,time=5)
rep(1:4,each=2)
rep(c,each=2) - time에 지정한 횟수만큼 반복

paste(arg,arg,sep=) - 문자열 구분자로 붙이기

substr(string,st,en) - substr 추출

T, True, F, False - 논리값
V[n], V[-n] - n을 통해 벡터의 원소 선택 / -n을 통해 벡터의 원소 제외하고 선택

당연히 원래 벡터는 변하지 않는다.

mean() , sum() , median() , log() , sd() - 표준편차
var() - 분산 , cov( value1 , value2 ) - 공분산
cor( value1 , value2 ) - 상관관계 , length() - 길이
INPUT -> ANALYSIS -> OUTPUT
print(val,digits=num) - 출력 자리수 지정 가능
cat('출력할 내용',변수,file='파일이름') - 파일에 출력
list.files() - 파일 목록 보기
read.fwf() - 고정 자리수 데이터 파일 읽기
read.table() - table 데이터 파일 읽기
read.csv() - 웹에서 csv 읽어오기 가능
write.csv()
library(XML)
url<-"http://dataurl.html"
t<-readHTMLTable(url)
HTML에서 table 읽기
a <- 1:9
dim(a)<- c(3,3)
b <- 1:12
dim(b) <- c(2,3,2)

배수를 맞춰주지 않으면 경고가 발생하지만 실행은 된다.

재활용 규칙을 통한 연산
L[[n]] - 원소선택을 위해서는 [] 두번 사용
data.frame(v1,v2,v3) - dataframe 생성
rbind(df1,df2) - df를 행으로 결합 ( 아래로 이어붙인다 )
cbind(df1,df2) - df를 열로 결합 ( 옆으로 이어붙인다 )
df[df$gender=='m'] - 성별이 m인 데이터만 조회
subset(df,select=gender,subset=gender=='m') - 위와 같음
subset(df,select=-gender) - gender를 제외하고 선택
merge(df1,df2,by='gender') - gender를 공통으로 하여 병합
na.omit(df) - na가 존재하는 행 삭제
sapply(a,log) - a변수에 log 함수 적용
lapply(l,func) , sapply(a,func) - list에 함수 적용
apply(mat,1,func) , apply(mat,2,func) - matrix에 함수 적용 / 1을 하면 transpose결과임
lapply, sapply - df에 함수 적용
apply - df에 적용시 데이터프레임이 모두 문자거나 모두 숫자일때만 가능
nchar("단어") - 길이 반환
substr("abcdefg",1,4) -> abcd substring 추출