이름이 있는 벡터 조회
Coddy R 여정의 논리와 흐름 섹션에 포함된 레슨. 64개 중 7번째.
이름이 지정된 벡터는 이름 아래에 값을 저장하므로 조회 테이블 역할을 합니다. 이름이 키이고 요소가 해당 값입니다. 값만 가져오려면 이름을 [[ ]] 안에 넣으세요.
prices <- c(tea = 4, cake = 7)
print(prices[["cake"]])
print(names(prices))출력:
[1] 7
[1] "tea" "cake"대괄호 하나는 요소를 이름과 함께 반환합니다. [[ ]]는 값만 반환합니다:
prices <- c(tea = 4, cake = 7)
print(prices["cake"])
print(prices[["cake"]] * 2)출력:
cake
7
[1] 14이름은 변수에서 가져올 수 있으며, 이는 프로그램이 입력에서 읽은 키를 조회하는 방식입니다.
prices <- c(tea = 4, cake = 7)
item <- "tea"
print(prices[[item]])출력:
[1] 4이름으로 이루어진 벡터는 여러 키를 한 번에 조회하며, 중복된 키도 포함하므로 sum()을 사용하면 한 단계로 주문의 합계를 계산할 수 있습니다:
prices <- c(tea = 4, cake = 7)
order <- c("tea", "cake", "tea")
print(sum(prices[order]))출력:
[1] 15존재하지 않는 이름은 두 형식에서 다르게 동작합니다. prices["milk"]는 NA를 반환하고, prices[["milk"]]는 subscript out of bounds 오류와 함께 중지됩니다.
챌린지
쉬움line_total(item, qty)을 완성하세요. 이 함수는 아래의 메뉴를 정의합니다. item의 가격에 qty를 곱한 값을 소수점 이하 두 자리로 형식화하여 반환하세요. 예를 들어 tea와 3은 7.50을 반환합니다.
menu <- c(tea = 2.5, coffee = 3, cake = 4.25, soup = 6)입력의 모든 항목은 메뉴에 있습니다. 제공된 코드는 항목과 수량을 읽고 반환된 값을 출력합니다.
직접 해보기
line_total <- function(item, qty) {
menu <- c(tea = 2.5, coffee = 3, cake = 4.25, soup = 6)
# 여기에 코드를 작성하세요
""
}
# 제공된 입력/출력 코드: 그대로 유지하세요
input <- suppressWarnings(readLines(file("stdin")))
cat(line_total(input[1], as.numeric(input[2])), sep = "\n")
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 R 컴파일러