R – 기본 개념 스크립트로 알아보기 (변수,스칼라,벡터 등)

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로 배우는 데이터 과학

Leave a Reply

Your email address will not be published. Required fields are marked *