시작하기무료로 시작하기

아주 클래시해요

변수에는 둘 이상의 클래스가 있을 수 있어요. 이 경우 class()(문서)는 길이가 1보다 큰 문자열 벡터를 반환합니다.

마찬가지로 class()에 문자열 벡터를 할당하면 여러 클래스를 지정할 수 있어요. 가장 구체적인 것에서 가장 일반적인 것으로, 왼쪽에서 오른쪽 순서로 정하는 것이 좋습니다. 객체에 가장 맞는 동작부터 적용되기 때문이에요. 예를 들어,

x <- c("a", "e", "i", "o", "u")
class(x) <- c("vowels", "letters", "character")

다른 클래스에 속하는지 확인하려면 범용 함수인 inherits()(문서)를 사용할 수 있어요. 예를 들어,

inherits(x, "vowels")

이 연습은 강의의 일부입니다

R에서 S3와 R6로 배우는 Object-Oriented Programming

강의 보기

연습 안내

작업 공간에 변수 kitty가 미리 정의되어 있습니다.

  • 이름을 입력해 kitty를 확인하세요.
  • 변수 kitty에 클래스 "cat", "mammal", "character"를 할당하세요.
  • inherits()를 사용해 kitty"cat", "mammal", "character" 클래스를 각각 가지고 있는지(한 번에 하나씩, 해당 순서로) 확인하세요.
  • is.character()를 사용해 kitty가 여전히 character 벡터인지 확인하세요.
  • kitty"dog" 클래스가 없다는 것도 확인하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# View the kitty
kitty

# Assign classes
___ <- ___

# Does kitty inherit from cat/mammal/character?
inherits(___, "___")
___
___

# Is kitty a character vector?
___

# Does kitty inherit from dog?
___
코드 편집 및 실행