R에서 기본적인 것들을 배워 보도록 하겠습니다.
항상 프로그래밍 하면서 느낀것이지만, 기본이 중요하다고 생각합니다. !!
기초를 잘 알면 어떤 알고리즘이라도 만들 수가 있다고 생각합니다.
1. R vector
a <- 1
a = 1
b <- 2
b = 2
a를 1이라고 지정을 하고, b를 2라고 지정을 할 수가 있습니다.
지정을 할때는, "<-" or " = " 을 이용해서 지정할 수가 있습니다.
그리고 이를 더 할 수도 있습니다.
또한 vector에다가 여러 숫자들을 추가 할 수가 있습니다.
a<-c(1,2,3,4)
b<-c(4,3,2,1)
마찬가지로 두 vector를 더할 수가 있습니다. (당연히 빼기 나누기 곱하기 다 됩니다.)
여러 벡터가 있을경우 a[1],b[1] a[2],b[2] a[3],b[3] a[4],b[4] 이런 식으로 같은 위치의 숫자끼리 사칙연산이 됩니다.
벡터의 길이가 다를경우에는?!
다음과 같이 짧은 vector가 순서대로 중복되어 사칙연산이 되는것을 확인할 수가 있다.
(아래와 같이 적용이 모두 안될경우에는 warning 이 뜨지만, 결과적으로는 잘 더해졌다.)
2. matrix
우리가 데이터를 다루면서 많이 보게될 데이터형 중 하나입니다.
matrix(data,nrow,ncol,byrow,dimnames)
data = 숫자든 뭐든 넣을 수가 있습니다.
nrow = 몇번째 줄로 만들것이냐
ncol = 몇번째 열로 만들것이냐
byrow = 줄을 먼저 채울 것이다!
dimnames = 행,열 이름을 정하기! (굳이 이걸 안해도 다른방식으로 할 수 있음)
dimnames = list(c(rowname),c(colname))이런식으로 기입해야함. 그리고 row,column개수와 이름개수가 동일하게 작성해야함.
1~10까지 2행 5열의 matrix를 만들고 싶을 경우!
matrix(data=c(1,2,3,4,5,6,7,8,9,10),nrow=2,ncol=5)
자료를 row부터 순서대로 넣고싶다!
matrix(data=c(1,2,3,4,5,6,7,8,9,10),nrow=2,ncol=5,byrow=T)
이름을 지정하고싶다.
matrix(data=c(1,2,3,4,5,6,7,8,9,10),nrow=2,ncol=5,byrow=T,dimnames = list(c('a','b'),c('A1','A2','A3','A4','A5')))
dimname으로 지정하였으나, 바꾸고싶을경우!
2-1 dimname(matrix) 을 이용하는 방법. (똑같이 list로 지정해야함)
2-2 colnames(matrix) or rownames(matrix)를 이용하는 방법 (column 개수와 colnames개수가 같아야함, row도 동일)
matrix의 특징
2-1 내부에 type들이 같다.
2-2 내부의 벡터들이 하나라도 변경이 되면 모두가 변경이 된다.
2-3 앞서 보았듯이 좌표형식으로 지정해서 벡터를 가져올 수도 있고, 혹은 바꿀 수도 있다.
1개의 벡터때문에 character로 변경된걸 다시 돌리는 방법은 모두 숫자로 바꾸고, 따음과 같이 하면된다.
2-4 벡터와 마찬가지고 사칙연산이 가능하다.
n×n이 같을경우 같은 좌표끼리 더해짐. 벡터를 더 할경우 row를 기준으로 더해짐.
이 경우는 잘 사용하지 않기 때문에, 그림보시고 이해를 하시면 됩니다. (이해가 안되시면 패스하셔도 문제없습니다!)
※ type이란?
type이란 숫자형(numeric, double), 글자형(character)과 같은 벡터의 특징을 이야기함. 여러 종류들이 있음.
벡터의 타입을 확인하기 위해선 typeof라는것을 쓰면된다.
※class란?
type과 마찬가지다. 그러나 좀 더 자세하게 알려준다.
포스팅이 길어져서 내일 다시 포스팅 하도록 하겠습니다!!
내일은 data.frame,list,array,factor이렇게 3개에 대해서 포스팅하도록하겠습니다.
감사합니다.
'기본적인프로그래밍 > R' 카테고리의 다른 글
[R] 쉽게 배우는 R programming 기초 (5) (그래프, plot, 기타 parameter) (0) | 2020.06.30 |
---|---|
[R] 쉽게 배우는 R programming 기초 (4) (if문, for문, while문) (0) | 2020.06.25 |
[R] 쉽게 배우는 R programming 기초 (3) (list, array) (0) | 2020.06.24 |
[R] 쉽게 배우는 R programming 기초 (2) (data.frame, factor) (0) | 2020.06.23 |
[R] 쉽게 배우는 R programming 기초 (0) | 2020.06.17 |
댓글