Menu
Coddy logo textTech

데이터프레임 만들기

Coddy R 여정의 논리와 흐름 섹션에 포함된 레슨. 64개 중 42번째.

데이터 프레임은 R의 테이블입니다. 각 열은 고유한 유형을 가진 벡터이며, 모든 열의 길이는 같고 행마다 하나의 값이 있습니다. data.frame()은 이름이 지정된 벡터로 데이터 프레임을 만듭니다:

people <- data.frame(
  name = c("ada", "bo", "cy"),
  age = c(36, 22, 41),
  city = c("london", "paris", "rome")
)
print(people)

출력:

  name age   city
1  ada  36 london
2   bo  22  paris
3   cy  41   rome

nrow()와 ncol()은 크기를 알려 주고, names()는 열을 나열합니다. 행렬과 달리 열에는 서로 다른 유형의 값이 들어갈 수 있습니다. 여기서는 텍스트와 숫자가 들어갑니다.

people <- data.frame(
  name = c("ada", "bo", "cy"),
  age = c(36, 22, 41),
  city = c("london", "paris", "rome")
)
print(nrow(people))
print(ncol(people))
print(names(people))

출력:

[1] 3
[1] 3
[1] "name" "age"  "city"

str()은 각 열의 유형과 처음 몇 개의 값을 보여 주므로, 데이터 프레임에 어떤 내용이 있는지 빠르게 확인할 수 있습니다:

people <- data.frame(
  name = c("ada", "bo", "cy"),
  age = c(36, 22, 41),
  city = c("london", "paris", "rome")
)
str(people)

출력:

'data.frame':	3 obs. of  3 variables:
 $ name: chr  "ada" "bo" "cy"
 $ age : num  36 22 41
 $ city: chr  "london" "paris" "rome"

데이터는 흔히 한 줄에 한 행씩 텍스트로 들어옵니다. read.csv(text = lines)는 첫 번째 줄을 열 이름으로 사용하고 숫자를 자동으로 변환하여 이러한 줄을 데이터 프레임으로 변환합니다:

lines <- c("item,qty", "tea,2", "jam,5")
orders <- read.csv(text = lines)
print(orders)
print(sum(orders$qty))

출력:

  item qty
1  tea   2
2  jam   5
[1] 7
challenge icon

챌린지

쉬움

table_info(names, ages)를 완성하세요. 두 벡터로 name 및 age 열을 갖는 데이터 프레임을 만드세요. 세 줄을 반환하세요. 행 수와 함께 Rows: , , 로 결합한 열 이름과 함께 Columns: , 나이가 가장 큰 행의 이름과 함께 Oldest: 를 반환하세요(나이가 같으면 첫 번째 행을 사용).

제공된 코드는 이름과 나이를 쉼표로 구분된 두 줄로 읽고 반환된 각 줄을 출력합니다.

직접 해보기

table_info <- function(names, ages) {
  # 여기에 코드를 작성하세요
  character(0)
}

# 제공된 입력/출력 코드: 그대로 유지하세요
input <- suppressWarnings(readLines(file("stdin")))
cat(table_info(strsplit(input[1], ",")[[1]], as.numeric(strsplit(input[2], ",")[[1]])), sep = "\n")
quiz icon실력 점검

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

논리와 흐름의 모든 레슨

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