기본적으로 프로그램은 <입력 → 처리 → 출력>의 과정을 거칩니다. 그중 <입력> 과정은 데이터를 컴퓨터 메모리에 저장하기 위해서 변수를 정의하는 단계를 말하는데, 이는 R에서 객체를 생성(할당)하는 단계와 동일합니다. 다른 언어와는 다르게 R은 주로 <-
(할당연산자, Assignment Operator)을 통해 객체를 할당합니다.
6.1. 객체(Object)의 정의와 할당
(1) 객체의 정의
객체는 데이터 상의 문자·숫자·데이터를 처리하기 위한 함수와 그 함수를 통해 출력된 결과를 모두 포함하는 개념으로써, 이를 데이터 유형(Type)과 구조(Structure)에 따라 구분합니다. 객체를 할당한다는 말은 메모리에 객체를 저장한다(실체를 구현한다)는 말과 동일합니다.
(2) 객체 할당 방법
연산자 | 의미 | 예시 |
<- | 오른쪽 값을 왼쪽 값에 할당 | scalar_01 <- 3 |
= | scalar_02 = 17 | |
-> | 왼쪽 값을 오른쪽 값에 할당 | 35 -> scalar_03 |
(3) 예시
위의 예시를 실제로 R로 구현하고, 이를 환경창을 통해 확인하면 다음과 같습니다.
scalar_01 <- 3
scalar_02 = 17
35 -> scalar_03

PLUS) =
와 <-
에 대한 논의
R에서는 객체를 정의하고자 할 땐 =
보다는 <-
을 사용합니다. 물론 =
도 사용가능한데 굳이 <-
을 사용하는 이유는 무엇일까요? 그 이유는 다음과 같습니다.
①역사적으로 R은 S라는 언어에서 파생되었는데, S는 =
가 없는 특정 키보드 배열에서 설계됨

출처: https://colinfay.me/r-assignment/
②연산자의 우선 순위상 <-
가 =
보다 우선함
③R에서는 함수 안의 파라미터 값으로 =
을 사용하는 것이 정확함
(4) 객체 명명 규칙
R에서 객체의 이름을 정의할 때 다음과 같은 규칙이 있습니다.
①알파벳, 한글, 숫자, .
, _
사용 가능
②알파벳의 대소문자를 구분함
③객체 이름은 숫자나 _
로 시작할 수 없음
④객체 이름이 .
으로 시작될 경우, 다음에 숫자가 올 수 없음 (예: .35
라는 객체는 할당할 수 없음)
주로 .
으로 시작하는 객체는 R 구동을 위한 내부 변수로 많이 쓰이므로 할당을 지양하는 것이 좋습니다. 그러므로 변수의 첫 글자는 알파벳으로 시작하는 것을 추천드립니다.
6.2. 객체 설정 및 관리
(1) 객체 목록 확인 함수, ls()
ls()
함수는 메모리에 저장된 객체를 출력하는 함수입니다. 예시는 다음과 같습니다.
ls() #소문자 l(엘)임

(2) 객체 제거 함수, rm()
rm()
함수는 메모리에 저장된 객체를 제거하는 함수입니다. 예를 들어 현재 저장된 scalar_01
객체를 삭제하고자 한다면 다음과 같습니다.
rm(scalar_01)

PLUS) 메모리에 저장된 모든 객체 제거하기
만약 메모리에 저장된 모든 객체를 제거하고자 한다면, rm()
함수와 ls()
함수를 이용할 수 있습니다.
rm(list=ls())

단, 해당 코드는 .
으로 시작되는 객체는 제거되지 않습니다.
'Ⅰ. R 기초' 카테고리의 다른 글
8. 패키지 설치 및 관리하기 (0) | 2020.09.24 |
---|---|
7. 함수 구조와 파라미터 이해하기 (0) | 2020.09.23 |
5. RStudio Project 생성하기 (0) | 2020.09.21 |
4. RStudio 설치 및 환경 설정하기 (0) | 2020.09.19 |