객체: R의 기본 구성 요소

SAS 사용자를 위한 R

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

객체는 R의 기본 구성 요소입니다

  • R의 모든 것은 객체입니다
  • 단일 값(스칼라)
  • 벡터
  • 행렬
  • 데이터셋
  • 함수 출력

객체 abc 기본 구성 요소

SAS 사용자를 위한 R

단일 요소 다루기

  • 객체 x 생성
  • x에 값 4 할당
  • x 내용 확인
  • [1]x가 1개 요소임을 의미
  • y를 x의 제곱으로 생성
  • 결과 확인: y 입력
x <- 4
x
[1] 4
y <- x * x
y
[1] 16
SAS 사용자를 위한 R

다른 유형의 요소

  • 단어 "fish"를 y에 할당
  • 논리값 FALSEz에 할당
  • y, z 확인
y <- "fish"
z <- FALSE
y
z
[1] "fish"

[1] FALSE
SAS 사용자를 위한 R

단일 요소를 벡터로 결합하기

# 숫자 3개 결합
c(5, 3, 2)

세 숫자 5 3 2

SAS 사용자를 위한 R

단일 요소를 벡터로 결합하기

# 숫자 벡터를 x에 할당
x <- c(5, 3, 2)

# 결과 보기
x

Result

[1] 5 3 2

5 3 2가 열 벡터로 결합됨

SAS 사용자를 위한 R

문자 요소 벡터 만들기

# 문자 벡터에 단어 child 추가
y <- c("child")

세 단어 결합 child

SAS 사용자를 위한 R

문자 요소 벡터 만들기

# 두 번째 단어 young 추가
y <- c("child", "young")

young

SAS 사용자를 위한 R

문자 요소 벡터 만들기

# 세 번째 단어 old 추가
y <- c("child", "young", "old")

# y 보기
y

Result

[1] "child" "young" "old"

old

SAS 사용자를 위한 R

논리 요소 벡터 만들기

# 논리 벡터에 TRUE 추가
z <- c(TRUE)
  • 첫 요소는 TRUE
  • 큰따옴표 불필요
  • 논리 값은 TRUE 또는 FALSE
  • ALL CAPS 사용 필수
  • T, F도 사용 가능

세 논리값 결합 true 대문자

SAS 사용자를 위한 R

논리 요소 벡터 만들기

# 두 번째 요소로 FALSE 추가
z <- c(TRUE, FALSE)

false 대문자

SAS 사용자를 위한 R

논리 요소 벡터 만들기

# 세 번째 요소 TRUE 추가
z <- c(TRUE, FALSE, TRUE)

# z 보기
z

Result

[1]  TRUE FALSE TRUE

true 대문자

SAS 사용자를 위한 R

벡터로 행렬 만들기

#  숫자 벡터 a 생성
a <- c(5.0, 3.1, 2.4)
  • 행렬은 벡터로 만듭니다
  • 벡터는 같은 타입·길이여야 함

첫 번째 벡터 숫자 5.0 3.1 2.4

SAS 사용자를 위한 R

벡터로 행렬 만들기

#  숫자 벡터 a 생성
a <- c(5.0, 3.1, 2.4)

#  숫자 벡터 b 생성
b <- c(4.1, 2.2, 5.4)

두 번째 벡터 4.1 2.2 5.4

SAS 사용자를 위한 R

벡터로 행렬 만들기

# a,b로 3행 2열 행렬 m 생성
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)

# m 보기
m
          [,1] [,2]
     [1,]  5.0  4.1
     [2,]  3.1  2.2
     [3,]  2.4  5.4

벡터가 3행 2열 행렬로 결합됨

SAS 사용자를 위한 R

벡터로 데이터 프레임 만들기

# 숫자 변수 score 생성
score <- c(5.0, 3.1, 2.4)

# score 보기
score
     5.0 3.1 2.4
  • 데이터 프레임은 벡터로 만듭니다
  • 벡터 길이는 같아야 함
  • 벡터 타입은 달라도 됨

숫자 벡터 5.0 3.1 2.4

SAS 사용자를 위한 R

벡터로 데이터 프레임 만들기

# 문자 변수 age 생성
age <- c("child","young","old")

# age 보기
age
     "child" "young" "old"

문자 벡터 단어 child young old

SAS 사용자를 위한 R

벡터로 데이터 프레임 만들기

# 논리 변수 test 생성
test <- c(TRUE, FALSE, TRUE)

# test 보기
test
     TRUE FALSE TRUE

논리 벡터 true false true

SAS 사용자를 위한 R

벡터로 데이터 프레임 만들기

# 결합하여 데이터 프레임 생성
d <- data.frame(score, age, test)

# 데이터 프레임 보기
d
     score   age  test
       5.0 child  TRUE
       3.1 young FALSE
       2.4   old  TRUE

세 벡터가 데이터 프레임으로 결합됨

SAS 사용자를 위한 R

객체 유형 확인하기

  • 숫자 벡터 x 생성
  • xclass 확인
  • x의 구조 str 확인
x <- c(5, 3, 2)
class(x)
 [1] "numeric"
str(x)
 num [1:3] 5 3 2
SAS 사용자를 위한 R

객체 유형 확인하기

  • 문자 벡터 y, 논리 벡터 z
  • y, zclass 확인
  • y, z의 구조 str 확인
str(y)
 chr [1:3] "child" "young" "old"
str(z)
 logi [1:3] TRUE FALSE TRUE
y <- c("child","young","old")
z <- c(TRUE, FALSE, TRUE)
class(y)
 [1] "character"
class(z)
 [1] "logical"
SAS 사용자를 위한 R

객체 유형 확인하기

  • 행렬 m 만들기
  • m의 class 확인
  • m의 구조 str 확인
str(m)
 num [1:3, 1:2] 5 3.1 2.4 4.1 2.2 5.4
a <- c(5.0, 3.1, 2.4)
b <- c(4.1, 2.2, 5.4)
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)
class(m)
 [1] "matrix"
SAS 사용자를 위한 R

객체 유형 확인하기

  • data.frame d 생성
  • dclass 확인
  • d의 구조 str 확인
str(d)
'data.frame':    3 obs. of 3 variables:
 $ score: num  5 3.1 2.4
 $ age  : Factor w/ 3 levels
         "child","old",..: 1 3 2
 $ test : logi  TRUE FALSE TRUE
score <- c(5.0, 3.1, 2.4)
age <- c("child","young","old")
test <- c(TRUE, FALSE, TRUE)
d <- data.frame(score, age, test)
class(d)
 [1] "data.frame"
1 3개 연령 범주에 대해 Factor 클래스가 자동으로 생성되었습니다.
SAS 사용자를 위한 R

R에서 데이터 객체를 만들고 조작해 봅시다

SAS 사용자를 위한 R

Preparing Video For Download...