디지털 금융/R

R에서 데이터프레임(data.frame) 조작하는 기본 방법

studylife-1 2025. 4. 23. 07:00
반응형

📦 데이터프레임 기본 만들기

 

R 데이터 프레임 기본

 

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 패키지를 쓰면 훨씬 간결하고 빠르게 데이터프레임을 조작할 수 있어.

먼저 설치 + 불러오기:

R 언어 패키지 설치

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 연산자)

 

반응형