메타데이터 반환하기
가끔 함수에서 여러 값을 반환하고 싶지만, 결과가 특정 클래스(예: 데이터 프레임이나 수치형 벡터)를 가져야 해서 리스트를 반환하기가 적절하지 않을 때가 있습니다. 이는 결과와 그 결과에 대한 메타데이터가 함께 있을 때 흔합니다. (메타데이터는 "데이터에 대한 데이터"입니다. 예를 들어, 데이터셋이 로드된 파일, 변수를 만든 사용자의 이름, 알고리즘이 수렴하는 데 사용된 반복 횟수 등이 될 수 있습니다.)
이럴 때는 메타데이터를 속성(attributes)에 저장할 수 있습니다. 속성을 할당하는 문법은 다음과 같습니다.
attr(object, "attribute_name") <- attribute_value
이 연습은 강의의 일부입니다
R 함수 작성 입문
연습 안내
pipeable_plot()을 업데이트하여, 결과에"formula"라는 이름의 속성을 추가하고 그 값으로formula를 사용하세요.- 이전에 생성한
plt_dist_vs_speed가 제공됩니다. 업데이트된 구조를 확인해 보세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
pipeable_plot <- function(data, formula) {
plot(formula, data)
# Add a "formula" attribute to data
___ <- ___
invisible(data)
}
# From previous exercise
plt_dist_vs_speed <- cars %>%
pipeable_plot(dist ~ speed)
# Examine the structure of the result
___