# [R] 변수

## 변수 Variable

---

- **변수**는 프로그램 내에서 어떤 값을 저장해 놓을 수 있는 보관 상자의 역할

- 하나의 변수에는 하나의 값만 저장할 수 있다.

- 변수의 타입을 따로 지정하지 않는다.

### **변수 만들기**

```javascript
a <- 10
```

- a라는 변수에 10이라는 값을 저장

- 특정 변수의 이름을 지정하고 그곳에 어떤 값을 저장하는 순간 변수가 만들어진다.

- `alt + -` 를 사용하면 <-(할당 연산자)가 자동으로 입력된다.

### **변수의 내용 확인**

```javascript
total <- 5050          # 5050을 변수 total에 저장
total                  # 방법 1
print(total)           # 방법 2
cat('합계 : ', total)  # 방법 3
```

- 방법 1: 변수명을 입력하여 실행 → total의 값은 5050이다.

- 방법 2: print() 함수를 사용 → 5050이 출력된다.

- 방법 3: cat() 함수를 사용 → 합계 : 5050이 출력된다.

**R 스튜디오의 경우**

- R 스튜디오 환경창을 보면 현재 만들어진 변수와 저장된 값 확인 가능

### **변수를 이용한 산술연산**

- 변수와 변수의 연산은 변수에 저장된 값들의 연산으로 바뀌어 실행

```javascript
a <- 10     # 변수 a에 10을 저장
b <- 20     # 변수 b에 20을 저장
c <- a + b  # 변수 a, b에 저장된 값을 더해 변수 c에 저장
print(a)    # 변수 a의 내용 출력 -> 10
print(b)    # 변수 b의 내용 출력 -> 20
print(c)    # 변수 c의 내용 출력 -> 30
```

### 변수의 특징

- **변수는 변할 수 있는 값**: 하나의 변수에 값을 여러 번 바꾸어 저장하면 가장 나중에 저장한 값만 남는다.

- **하나의 변수에는 하나의 값만 저장**

- **변수와 변수의 연산은 변수에 저장된 값들의 연산으로 바뀌어 실행**: `c←a+b` 의 경우 c에는 a와 b에 저장되어 있는 값들의 연산으로 바뀌어 실행된다.

### **변수 작명 규칙**

- 첫 글자는 영문자(알파벳), 마침표(.)로 시작

- 두 번째 글자부터 영문자, 숫자, 마침표(.), 밑줄(_) 사용

- 변수명에서 대문자와 소문자는 별개의 문자 취급

- 변수명 중간에 빈 칸을 넣을 수 없음

- 저장되는 값이 무엇인지 알 수 있는 단어를 사용하는 것이 좋음

- 함수의 이름은 변수명으로 사용하지 않는 것이 좋음

### **변수의 자료형**

| **자료형** | **사용 예** | **비고** |
| --- | --- | --- |
| 숫자형 | 1, 2, -4, 12.8 | 정수, 실수 모두 가능 |
| 문자형 | ‘Tom’, ‘Jane’ | 작은따옴표나 큰따옴표로 묶어서 표현 |
| 논리형 | TRUE, FALSE | T, F로 줄여서 사용하는 것도 가능 |
| 특수값 | NULL NA NaN Inf, -Inf | 정의되어 있지않음을 의미, 자료형도 없고 길이도 0 결측값(missing value) 수학적으로 정의가 불가능한 값 (sqrt(-3)) 양의 무한대(Inf), 음의 무한대(-Inf) |

For the site tree, see the [root Markdown](https://slashpage.com/yerim-devnote.md).
