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