Menu
CoddyTech

이름이 지정된 벡터

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

이름이 지정된 벡터는 학생 성적을 과목별로 저장하거나 제품 이름별로 가격을 저장하는 것처럼 자연스러운 레이블이 있는 데이터를 다룰 때 특히 유용합니다.

challenge icon

챌린지

쉬움

두 줄의 입력을 받습니다:

  1. 쉼표로 구분된 제품 이름 목록(예: laptop,phone,tablet,headphones)
  2. 각 제품에 해당하는 가격을 쉼표로 구분한 목록(예: 999,699,449,199)

다음 작업을 수행합니다:

  1. 가격으로 숫자 벡터를 생성합니다.
  2. names() 함수를 사용하여 제품 이름을 벡터에 할당합니다.
  3. 이름이 지정된 전체 벡터를 출력합니다.
  4. 이름을 사용하여 두 번째 제품에 접근하고 해당 제품의 가격을 출력합니다.
  5. 이름을 사용하여 마지막 제품에 접근하고 해당 제품의 가격을 출력합니다.

예를 들어 입력이 다음과 같다면:

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. 이름을 사용하여 마지막 제품의 가격에 접근하여 출력
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 R 컴파일러