일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 매일영어습관
- Mac konlpy
- 클러스터링기법
- 자기지도학습
- Ajax프레임워크
- 노마쌤
- 프로토콜
- EC2
- 웹폰트
- Filter
- 정수인코딩
- NLP
- HTML
- 행렬
- 벡터
- 노트list
- 함수
- JS
- R
- 인덱스
- CSS
- DOM
- 명령어
- Ajax
- 질의확장
- 유의수준
- 파이썬
- DOMAPI
- 노마쌤과 즐거운 영어 습관
- 신뢰구간
- Today
- Total
채니의 개발일기
R - 1. dplyr()함수 :filter, select,mutate 본문
dplyr()함수
- 데이터 조작과 변형을 위해 설계된 패키지
- 데이터프레임이나 테이블 형태의 데이터를 보다 쉽고 효율적으로 다룰 수 있도록 다양한 함수와 도구를 제공
dplyr의 대표적으로 사용되는 함수
- filter(): 행을 선택하여 필터링
- select(): 열을 선택하여 추출하거나 제외
- mutate(): 새로운 열을 추가하거나 기존 열을 변형
- arrange(): 행을 정렬
- group_by(): 그룹별로 데이터를 나누기
- summarize(): 그룹별로 요약 통계량을 계산
• 파이프 연산자(%>%) : 데이터 처리 작업을 체인 형태로 표현할 수 있어 코드의 가독성을 높이고 작업 단계를 명확한다.
1. 예시 데이터프레임 생성
# 데이터프레임 생성
df <- data.frame(
name = c("Alice", "Bob", "Charlie", "David", "Eve"),
age = c(25, 30, 35, 40, 45),
city = c("Seoul", "New York", "London", "Paris", "Tokyo")
)
filter()함수
- filter(): 행을 선택하여 필터링
filter(.data, condition)
- .data: 필터링할 데이터프레임
- condition: 필터링 조건을 지정하는 논리 표현식
library(dplyr)
# age가 30보다 큰 행 선택
filtered_data <- filter(df, age > 30)
결과 : age>30행이 필터링 된것을 알 수 있음
name age city
1 Charlie 35 London
2 David 40 Paris
3 Eve 45 Tokyo
**파이프연산자를 활용
filter_data =
df %>%
filter(age > 30)
**조건이 두개인 경우 fiter()함수 두번 사용하기
select()함수
- selcet(열이름) : 지정한 열만 선택됨
filter_data =
df %>%
filter(age>30) %>%
select(age,name)
결과
age name
1 35 Charlie
2 40 David
3 45 Eve
= select(-열이름): 지정된 열 이름을 제외하고 나머지 출력
filter_data =
df %>%
filter(age>30) %>%
select(-city)
결과: city빼고 출력된것을 알 수 있음
name age
1 Charlie 35
2 David 40
3 Eve 45
dplyr를 활용한 전처리
사용할 데이터 수정
df <- data.frame(
name = c("alice", "bob", "charlie", "david", "eve"),
age = c(25, 30, 35, 40, 45),
city = c("Seoul", "New York", "London", "Paris", "Tokyo")
)
*** name의 첫글자를 소문자로 변경
mutate()함수 - 새로운 변수 추가
- 데이터 프레임의 열을 변형하거나 새로운 열을 추가하는 데 사용됩
- 주로 데이터 변형 및 조작 작업을 수행할 때 유용하게 활용
mutate(.data, new_column = expression, ...)
- .data = 데이터 프레임
- new_column = 새로 추가할 열
- expression = 새로운 열의 값을 계산하기 위한 표현, 이 표현식은 변수, 연산자, 함수 등을 포함가능 (값)
- ...은 추가적인 열을 지정하는 데 사용되며, 필요에 따라 여러 개의 열을 동시에 변형하거나 추가 할 수 있다.
df <- df %>%
mutate(class = ifelse(age > 30, 'youth', 'beginner'),
capitalized_name = paste0(toupper(substring(name, 1, 1)), substring(name, 2, nchar(name))))
ifelse(age > 30, 'experienced professional', 'youth') : age>30이면 experienced professional, age<30이면 youth로 표현
capitalized_name =toupper함수를 이용해 첫글자는 대문자, 나머지 글자는 그대로 출력후 합치기
**ifelse : 조건문설명
R - 조건문 (if else)
• ifelse 표현식 ifelse(condition, yes, no) condition: 평가할 조건을 나타내는 부분 = 논리값(참 또는 거짓) 또는 평가 가능한 표현식으로 제공 yes: 조건이 참인 경우 실행한 값이나 표현식. 조건이 참이면
xcwaonvy.tistory.com
**substring 함수 설명
substring함수
substirng() - 사용되는 문자열을 잘라내는 함수 - 함수를 사용하여 문자열에서 지정한 범위의 부분 문자열을 추출가능 • substring() 함수의 구조 substring(text, first, last) text는 잘라낼 대상 문자열] firs
xcwaonvy.tistory.com
***paste()함수설명
*toupper()함수설명
결과: class값이 age>30이면 참이면 youth, 거짓이면 beginner로 할당된것을 알 수 있음
name age city class capitalized_name
1 Alice 25 Seoul beginner Alice
2 Bob 30 New York beginner Bob
3 Charlie 35 London youth Charlie
4 David 40 Paris youth David
5 Eve 45 Tokyo youth Eve
'프로그래밍언어 > R기초' 카테고리의 다른 글
R - 엑셀파일 읽기 (0) | 2023.06.21 |
---|---|
R - 2 . dplyr()함수 : groupby, summarise (0) | 2023.06.21 |
R - toupper()함수 , tolower()함수 (0) | 2023.06.21 |
R - substring함수 (0) | 2023.06.21 |
R - 조건문 (if else) (0) | 2023.06.21 |