티스토리 뷰
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
- fasta
- PTB
- 생존분석
- psychopy
- 생존곡선
- sequenced data
- r
- plink
- 그룹비교
- HRV
- GPU설치
- 인공지능
- pmm
- 실험통계
- NGS
- cnn
- missing_value
- vcf
- featuremap
- gray2rgb
- sounddevice
- 딥러닝
- SNP
- 생존함수
- GradCam
- pre-train
- 평균분석
- ECG
- rgb2gray
- Bioinfo
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |