Script )
# 변수 생성 및 변수 값 교환 x=2 y=5 temp<-x x<-y y<-temp x;y # 지수함수와 로그함수 n.log<-exp(1) # y=e^x에서 파라미터는 x에 해당 n.log # 자연상수 e가 됨 exp(n.log) log(exp(1)) # y=logX에서 파라미터는 x에 해당 <밑은 e> # 복소수 xi=1+2i yi=1-2i xi+yi # 문자열 처리 str="Hello,World!" print(str) # 팩터(번주형 자료<순서나 우선 순위 등(레벨)을 가지는 자료>) blood.type=factor(c('A','B','C','D')) blood.type # True, False T F T==T # 무한대 xinf=Inf yinf=-Inf xinf/yinf # 연산 불가능하다고 표시함 -> NaN으로 표시 # 자료형 확인 x = 1 # x에 단순히 1을 넣은 경우 x는 숫자형 x is.integer(x) #is.integer는 인수가 정수인지 확인하는 함수 x = 1L # x에 1L을 입력한 경우 x는 정수형 x is.integer(x) chr<-"abc" is.character(chr) is.double(exp(1)) is.character(n.log) # 단일 값을 스칼라라고 하고 스칼라가 모여서 벡터라고 한다. 이는 배열이라고 생각해도 된다. 1:7 # 1부터 7까지 1씩 증가시켜 요소가 7개인 벡터를 만든다. 7:1 # 7부터 7까지 1씩 감소시켜 요소가 7개인 벡터를 만든다. v.a<-7:1 length(v.a) vector(length=5) # 요소가 5개인 벡터 생성 # 벡터를 만드는 다른 방법은 c함수를 이용하는 것이다. c는 column으로 열 형태로 된 배열을 만든다고 생각하자. # c(1)일 때는 요소가 한 개이니 스칼라겠고 c(1,2,3)은 요소가 여러 개이니 벡터이다. x<-c(1) 1==c(1) 1==is.integer(x) # c함수(정수)로 단일값을 만들 때는 정수형이다. v.x<-c(1:5) v.y<-c(2,4,6,8,9) v.x+v.y 2*v.x+1 2*v.x-v.y c(1,2,3,c(4:6)) # 벡터 붙여쓰기 c(v.x,v.y) # 이렇게 해도 벡터가 합쳐짐 y=c() # 빈 벡터 생성 y=v.x y # Sequence(순열)벡터 만들기 seq(from=1,to=10,by=2) # 1부터 10까지 2씩 증가하는 벡터 생성 seq(1,10,2) seq(0,1,0.1) seq(0,1,length.out=11) # 0과 1사이에 11개의 스칼라가 나오게 하기 # repeat함수로 벡터 만들기 rep(c(1:4),times=2) # 요소 전체를 2번씩 해서 벡터 만들기 -> 1 2 3 4 1 2 3 4 rep(c(1:4),each=2) #요소 각각을 2번씩 해서 벡터만들기 -> 1 1 2 2 3 3 4 4 rep(c("hello","mr.kim"),each=3) # 벡터의 요소만 추출하기 x=c(2,4,6,8,10) x[1] #x[1,2,3] 이렇게 작성하면 오류 x[c(1,2,3)] # 1,2,3번째 요소를 추출 x[-c(1,2,3)] # 1,2,3번째 요소를 제외한 나머지 요소를 추출 x[1:3] # 연산자 x>5 # x벡터의 모든 요소와 비교함 all(x>5) # x벡터의 모든 값이 5보다 큰지 나타냄 any(x>5) # x벡터의 요소 중 5보다 큰 요소가 있는지 나타냄 # head,tail head(x) # 앞에서 벡터 요소 차례대로 나타냄 tail(x) # 뒤에서 벡터 요소 차례대로 나타냄 <하지만 뒤부터 출력되지는 않음>
북 참고) R로 배우는 데이터 과학