티스토리 뷰

728x90

1. 데이터 열추출

 

SQL>

SELECT  id AS new_id (id를 추출하여 new_id로) FROM table

 

R>

library(dplyr)

select(x_id, y_id, z_id) %>% as.data.frame()

 

 

 

2. 조건에 따른 행추출

SQL>

SELECT * FROM table

WHERE date BETWEEN '2023-12-1' AND '2023-12-31'

 

R>

table[intersect(which(table$date >= '2023-12-1'), 

                        which(table$date <= '2023-12-31')), ]

또는

table %>% filter(between(as.Date(date),

                                         as.Date('2023-12-1'), 

                                         as.Date('2023-12-31')))

 

 

3. 샘플링

SQL>

SELECT * FROM table

WHERE RANDOM() <= 0.5

 

R>

sample_frac(table, 0.5)

 

filter 함수의 %in%: 지정한 벡터의 값 중 일치하는 열 값을 테이터로 추출

filter(id %in% sample(all_id, size=length(all_id)*0.5))

 

 

4. GROUP_BY

SQL>

SELECT all_id, 

COUNT(id) AS cnt, 

COUNT(new_id) AS new_cnt

FROM table

GROUP By all_id 

 

 

R>

table %>% group_by(all_id) %>% summarise(cnt=n(),

                                                                          new_cnt=n_dictit(all_id))

 

5. 합계

SQL>

SELECT xx

SUM(xx) AS xx_sum FROM table 

GROUP BY xx

 

R>

table %>% group_by(id) %>% summarise(xx_sum<-sum(xx))

 

 

6. 기타 함수들

SQL>

PARTITION BY: 집약 순위 지정

ORDER BY: 집약 정렬 방식

BETWEEN

n PRECEDING: n 건 전 행 설정

CURRENT ROW: 자신의 행

n FOLLOWING: n건 후

RANK: 순위 계산

JOIN __ ON x=y AND xx is TRUE AND yy=1 

CASE WHEN COUNT() 조건 THEN 명령 END AS 새로운 열 

UNION dataFrame 연결

LAG: 과거값 참조

 

 

R>

mutate(새로운 열 이름 = 새로운 열 값)

row_number(): 순위 계산

transmute(): mute+select, 지정한 열로 새로운 열을 추가

min_rank(desc()): 순위계산, 내림차순  

inner_join( table %>% filter(yy==1, xx), by='x')

bind_rows: dataFrame 연결 

mutate(id = if_else(조건, x, y)): 조건에 만족하면 해당 값을 x에, 그렇지 않으면 y에 저장

lag: 과거값 참조

'데이터 분석 > 전처리' 카테고리의 다른 글

정규화  (0) 2023.12.22
오버샘플링 기법  (0) 2023.12.22
Grayscale images to 3 channels for CNN  (0) 2023.02.08
numpy 행렬 나누기  (0) 2023.01.05
데이터 구조 - Wide format vs. Long format  (0) 2023.01.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함