이름이 지정된 벡터
Coddy R 여정의 기초 섹션에 포함된 레슨. 78개 중 62번째.
지금까지는 숫자 위치를 사용하여 벡터 요소에 접근했습니다. 하지만 대신 의미 있는 이름으로 요소에 접근할 수 있다면 어떨까요? 이름이 지정된 벡터를 사용하면 각 요소에 레이블을 할당할 수 있어 코드의 가독성이 향상되고 자체적으로 의미를 설명할 수 있습니다.
생성할 때 이름을 제공하여 이름이 있는 벡터를 만들 수 있습니다:
ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)출력:
alice bob charlie
25 30 28이름으로 요소에 액세스하려면 대괄호 안에 이름을 문자열로 사용하세요:
print(ages["bob"])출력:
bob
30기존 벡터에 names() 함수를 사용하여 이름을 추가할 수도 있습니다:
scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
print(scores["math"])출력:
math
85이름이 지정된 벡터는 학생 성적을 과목별로 저장하거나 제품 이름별로 가격을 저장하는 것처럼 자연스러운 레이블이 있는 데이터를 다룰 때 특히 유용합니다.
챌린지
쉬움두 줄의 입력을 받습니다:
- 쉼표로 구분된 제품 이름 목록(예:
laptop,phone,tablet,headphones) - 각 제품에 해당하는 가격을 쉼표로 구분한 목록(예:
999,699,449,199)
다음 작업을 수행합니다:
- 가격으로 숫자 벡터를 생성합니다.
names()함수를 사용하여 제품 이름을 벡터에 할당합니다.- 이름이 지정된 전체 벡터를 출력합니다.
- 이름을 사용하여 두 번째 제품에 접근하고 해당 제품의 가격을 출력합니다.
- 이름을 사용하여 마지막 제품에 접근하고 해당 제품의 가격을 출력합니다.
예를 들어 입력이 다음과 같다면:
apple,banana,orange,grape
2,1,3,4출력은 다음과 같아야 합니다:
apple banana orange grape
2 1 3 4
banana
1
grape
4참고: 두 번째 요소와 마지막 요소에 접근할 때 숫자 위치가 아니라 이름을 첨자로 사용하세요(예: 문자열인 prices["banana"]). 이름은 첫 번째 입력 줄에서 가져오므로, 먼저 그곳에서 올바른 이름을 확인하세요.
직접 해보기
# 입력 읽기
con <- file("stdin", "r")
products_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)
# 쉼표로 구분된 입력 파싱
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]
# TODO: 아래에 코드를 작성하세요
# 1. 가격으로부터 숫자 벡터 생성
# 2. names()를 사용하여 벡터에 제품 이름 할당
# 3. 이름이 지정된 전체 벡터 출력
# 4. 이름을 사용하여 두 번째 제품의 가격에 접근하여 출력
# 5. 이름을 사용하여 마지막 제품의 가격에 접근하여 출력이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 R 컴파일러