1. 값 1개 가지는 변수 만들기
변수명은 대소문자를 구별하고 대시( - )나 언더바( _ ), 숫자를 조합하여 만들 수 있다. 한글 변수명도 가능하지만 오류가 날 수 있다. 변수명은 시작은 항상 소문자로 작성한다.(함수는 대문자)
변수 만드는 방법은 matlab과 비슷하다!
a <- 1 # a에 1할당
a # a출력
2. 사칙연산
a <- 1 # 변수 a에 값 1할당
b <- 2 # 변수 b에 값 2할당
a+b # a+b 덧셈 결과 출력
b-a # b-a 뺄셈 결과 출력
b/2 # b/2 나눗셈 결과 출력
a*b # a*b 곱셈 결과 출력
b%%a # b/a의 나머지 결과 출력
3. 벡터 변수(여러 값으로 구성된 변수)와 연산
R의 내장 함수인 c()나 seq() 를 이용하여 여러값을 가진 변수를 만들수 있다. 즉, 파이썬의 리스트와 같은 개념이다. c()의 c는 combine의 앞글자 이며 seq()는 sequence의 줄임말이다.
var1 <- c(1,2,3,4,5) # 숫자 5개로 구성된 변수 var1 생성 (type : numeric)
var2 <- c(1:5) # 1부터 5까지 숫자 5개로 구성된 변수 var2 생성 (type : integer)
var3 <- seq(1,5) # 1부터 5까지 숫자 5개로 구성된 변수 var3 생성 (type : integer)
var4 <- seq(1, 10, by =2) # 1부터 10까지 2간격으로 생성(1,3,5,7,9) (type : numeric)
var5 <- c("a", "b", "c") # "a" "b" "c" 3개의 문자로 구성된 변수 (type : character)
var6 <- c("hello", "world!") # "hello" "world!" 2개의 문자열로 구성된 변수 (type : character)
위의 결과를 보면 어떤 것은 변수 형이 numeric이고 어떤 것은 integer 형을 가진다. numeric은 integer보다 더 큰 그룹 개념이다. 데이터 형이 integer로 좁혀지는 이유는 디테일 할 수록 메모리가 덜 소모되기 때문이다.
파이썬의 numpy와 동일하게 벡터와 스칼라를 더했을때 모든 열에 스칼라 값을 더해준다. 벡터 크기가 같으면 각 열끼리 덧셈이 가능하다. 단, 벡터의 크기가 다르다면 벡터끼리 연산 할 수 없다. 또한, 문자열끼리 연산할 수 없다.
var1 + 2 # 각 열에 2를 더해줌
var1 + var2 # 연산 가능(같은 위치의 수끼리 더하기)
var7 <- c(1:6) # 1부터 6까지 숫자 6개로 구성된 변수 var7 생성(type : integer)
var1+var7 # 벡터의 길이가 달라 오류 발생(var1의 길이는 5, var7의 길이는 6)
var6 + 2 # 문자열은 연산 할 수 없다.
references
- (책) Do it! 쉽게 배우는 R 데이터 분석
- http://antilibrary.org/407