R - 데이터 프레임: 초보자 가이드
안녕하세요, 미래의 R 프로그래머 여러분! 오늘 우리는 R의 데이터 프레임 세계에 흥미로운 여정을 떠납니다. 프로그래밍 경험이 없으시다고 걱정하지 마세요 - 저는 여러분의 친절한 안내자가 되어, 단계별로 설명해드릴게요. 이 튜토리얼의 끝을 맺을 때쯤에는 데이터 프레임을 마치 전문가처럼 조작할 수 있을 거예요!
데이터 프레임이란?
먼저, 데이터 프레임이 무엇인지 이해해 보겠습니다. 스프레드시트를 상상해 보세요. 행과 열로 구성된 표 - 이것이 R에서 데이터 프레임입니다. 각 열은 다른 유형의 데이터(예: 숫자, 텍스트, 날짜)를 포함할 수 있으며, 각 행은 개별 레코드를 나타냅니다.
이제 손을 불쑥불쑥 내리고, 실제 R 코드로 손을 댄지요!
데이터 프레임 생성
데이터 프레임을 생성하는 것은 자신만의 개인 데이터베이스를 설정하는 것과 같습니다. 간단한 예제로 시작해 보겠습니다:
# 데이터 프레임 생성
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(22, 25, 23),
grade = c("A", "B", "A-")
)
# 우리의 데이터 프레임이 어떻게 보이는지 확인해 보자
print(students)
이 코드를 실행하면 다음과 같이 보입니다:
name age grade
1 Alice 22 A
2 Bob 25 B
3 Charlie 23 A-
여기서 우리는 students
라는 데이터 프레임을 생성했고, 이름, 나이, 학점 세 개의 열을 포함하고 있습니다. 각 열은 벡터이며, 모든 벡터는 같은 길이(이 경우 3)를 가져야 합니다.
데이터 프레임의 구조 확인
이제 우리의 데이터 프레임을 가지고, 그 구조를 조사해 보겠습니다. 차를 열어 엔진을 확인하는 것과 같은 느낌입니다:
# 데이터 프레임의 구조 확인
str(students)
이 outputs:
'data.frame': 3 obs. of 3 variables:
$ name : chr "Alice" "Bob" "Charlie"
$ age : num 22 25 23
$ grade: chr "A" "B" "A-"
이는 students
가 3개의 관찰치(행)과 3개의 변수(열)를 가진 데이터 프레임임을 알려줍니다. 또한 각 열의 데이터 유형을 보여줍니다: chr
는 문자(텍스트), num
는 숫자입니다.
데이터 프레임의 데이터 요약
데이터의 빠른 개요를 원하시나요? summary()
함수는 여러분의 최고의 친구입니다:
# 데이터 프레임의 요약 확인
summary(students)
이 outputs:
name age grade
Length:3 Min. :22.00 Length:3
Class :character 1st Qu.:22.50 Class :character
Mode :character Median :23.00 Mode :character
Mean :23.33
3rd Qu.:24.00
Max. :25.00
이는 우리의 데이터에 대한 통계적 요약을 제공합니다. 숫자 열인 'age'의 경우 최소, 최대, 평균, 분위수를 제공하며, 문자 열의 경우 길이와 유형을 보여줍니다.
데이터 프레임에서 데이터 추출
이제 데이터 프레임에서 특정 데이터를 추출하는 방법을 배워보겠습니다. 데이터 탐정이 되는 것과 같아요!
# 특정 열 추출
print(students$name)
# 특정 행 추출
print(students[2,])
# 특정 셀 추출
print(students[1, "grade"])
# 여러 열 추출
print(students[, c("name", "age")])
이 명령어는 다음과 같은 출력을 생성합니다:
[1] "Alice" "Bob" "Charlie"
name age grade
2 Bob 25 B
[1] "A"
name age
1 Alice 22
2 Bob 25
3 Charlie 23
$
연산자는 열 이름을 통해 열에 접근할 수 있게 합니다. 이차원 배열 [ ]
을 사용하여 행과 열을 지정할 수 있습니다: [행, 열]
. 행이나 열을 비워 두면 모든 행이나 열을 선택합니다.
데이터 프레임 확장
데이터가 커지면서 데이터 프레임에 더 많은 정보를 추가해야 할 수 있습니다. 이를 어떻게 하는지 보겠습니다:
# 새로운 열 추가
students$height <- c(165, 180, 175)
# 새로운 행 추가
new_student <- data.frame(name = "David", age = 24, grade = "B+", height = 178)
students <- rbind(students, new_student)
# 업데이트된 데이터 프레임을 확인해 보자
print(students)
이 outputs:
name age grade height
1 Alice 22 A 165
2 Bob 25 B 180
3 Charlie 23 A- 175
4 David 24 B+ 178
우리는 $
연산자를 사용하여 새로운 열 'height'를 추가했고, rbind()
함수를 사용하여 새로운 행을 추가했습니다.
유용한 데이터 프레임 메서드
여기 몇 가지 유용한 데이터 프레임 메서드 표입니다:
메서드 | 설명 |
---|---|
head(df) |
데이터 프레임의 첫 6행을 보여줍니다 |
tail(df) |
데이터 프레임의 마지막 6행을 보여줍니다 |
nrow(df) |
행의 수를 가져옵니다 |
ncol(df) |
열의 수를 가져옵니다 |
names(df) |
열 이름을 가져옵니다 |
colnames(df) |
열 이름을 가져오거나 설정하는 또 다른 방법입니다 |
rownames(df) |
행 이름을 가져오거나 설정합니다 |
dim(df) |
차원(행과 열)을 가져옵니다 |
이 메서드들을 students
데이터 프레임에 적용해 보세요!
그렇게 하면, 여러분은 R의 데이터 프레임 세계로 첫 걸음을 뗐습니다. 연습이 완벽을 만듭니다. 이 명령어들을 실험하고, 자신만의 데이터 프레임을 만들어 보세요. 다른 연산을 시도하고, 결과를 보세요.
알고 보면, 데이터를 마치 숙련된 데이터 과학자처럼 조작할 수 있을 거예요. 누가 알략니까? Mars 정착지나 해양 도시에서 데이터를 분석하는 데 이 기술을 사용할 수 있을지도 모르겠어요. 가능성은 무한합니다!
계속 코딩하시고, 호기심을 유지하시고, 가장 중요한 것은 즐겁게 하세요! 다음에 다시 만날 때까지, 행복한 R 프로그래밍 되세요!
Credits: Image by storyset