먼저 샘플링에 앞서
매번 샘플링 코드를 실행할때마다
결과값이 달라져요.
데이터분석을 쭉 진행하기위해서는
결과값을 고정해야합니다.
set.seed(숫자)
위 함수를 샘플링 코드와 !함께! 실행시킨후
빈그릇인 변수에 저장해줘야
결과값이 일정하게 나옵니다.


#기본함수를 이용한 샘플링

set.seed(1234)
df=sample(1:45, size = 6) #단순추출
, replace = TRUE #해당 옵션으로 복원추출 가능


#dplyr 패키지을 이용한 샘플링


sample_n(1:100, 6) #6 갯수로 추출
sample_frac(df , 0.05) #5% 비율로 추출

마찬기지로
, replace =TRUE #옵션으로 복원 추출가능


#caTools 패키지를 이용한 샘플링


sample.split(df, SplitRatio=0.7) #70% 추출




#R 샘플링 문제예시

문제1.
%%기준별 5%씩 행 추출시 추출되는 총 행의 갯수?

핵심문법
dplyr의 %>% #파이프
#데이터df에 대해서 연속으로
연산 및 문법처리가 가능하도록 이어주는 역할
#엔터시 %>% 뒤에서 엔터처리해야 오류안뜸
dplyr::group_by #그룹별 처리
dplyr::sample_frac(size=0.05) #5%샘플추출
nrow() #행개수

핵심답
df %>% group_by(기준열) %>%
    sample_frac(size=0.5 ) %>%
    nrow()

문제2.
학습데이터세트와 평가데이터 세트를 7:3 비율로 분리시 평가데이터의 a열의 평균은? #기본함수 sample이용해라

핵심문법 :
sample(추출할범위, 크기개수)
#sample(1:df의마지막행번호,추출비*전체행수)

핵심답
set.seed(123)
idx_train = sample(1:nrow(df) ,0.7*nrow(df))
df_train = df[idx_train, ]
df_test = df[  -idx_rain, ]
mean(df_train$a)





+ Recent posts