디지털 금융/R
R에서 데이터프레임(data.frame) 조작하는 기본 방법
studylife-1
2025. 4. 23. 07:00
반응형
📦 데이터프레임 기본 만들기
name | age | score |
Alice | 25 | 85 |
Bob | 30 | 90 |
Charlie | 35 | 95 |
🔍 데이터프레임 주요 조작 방법
기능 | 명령어 | 예시설명 |
특정 열 추출 | df$age | 'age' 컬럼만 추출 |
특정 행 추출 | df[1, ] | 1행 전체 추출 |
특정 셀 추출 | df[2, 3] | 2행 3열 값 추출 |
여러 열 선택 | df[, c('name', 'score')] | 'name'과 'score' 컬럼만 추출 |
조건부 필터링 | df[df$age > 25, ] | age가 25 초과인 행만 추출 |
새로운 열 추가 | df$pass <- df$score > 80 | 'pass' 컬럼 추가 (TRUE/FALSE) |
열 이름 변경 | colnames(df) <- c('이름', '나이', '점수') | 모든 열 이름 변경 |
행 추가 | rbind(df, data.frame(name='David', age=28, score=88)) | 새 행 추가 |
열 추가 | cbind(df, gender = c('F','M','M')) | 새 열 추가 |
데이터 정렬 | df[order(df$score), ] | score 오름차순 정렬 |
NA 처리 | na.omit(df) | 결측치(NA) 있는 행 삭제 |
요약 통계 | summary(df) | 컬럼별 요약 통계 보여줌 |
🛠️ 조금 더 고급스럽게: dplyr 패키지 활용
dplyr 패키지를 쓰면 훨씬 간결하고 빠르게 데이터프레임을 조작할 수 있어.
먼저 설치 + 불러오기:

dplyr 기본 문법
기능 | 명령어 | 예시설명 |
열 선택 | select(df, name, score) | 특정 열만 선택 |
행 필터링 | filter(df, age > 25) | 조건에 맞는 행 추출 |
새로운 변수 만들기 | mutate(df, grade = ifelse(score>90, 'A', 'B')) | 새로운 열 추가 |
정렬 | arrange(df, desc(score)) | score 기준 내림차순 정렬 |
요약 통계 | summarise(df, avg_age = mean(age)) | 나이 평균 구하기 |
그룹별 연산 | group_by(df, gender) %>% summarise(avg_score = mean(score)) | 성별별 평균 점수 |
👉 |>% 는 '그리고 이어서' 라는 뜻이다. (pipe 연산자)
반응형