8. Sampling
in Study on R Programming
Overview
R에서 일부 표본을 샘플링하는 방법을 알아본다.
Sampling 함수
수 많은 데이터 중 일부의 표본만 가져와 분석할 수 있게 하기 위해 sampling()
함수를 사용한다.
사용 예시
Data는 kaggle의 데이터를 사용하였다.
abcCsv <- read.csv('Border_Crossing_Entry_Data.csv', header=T)
abcCsv
dim(abcCsv) # dimension
nrow(abcCsv) # 몇행인가요?
ncol(abcCsv) # 몇열인가요?
# 샘플링 방법
# nrow 함수는 전체 행의 개수를 구해주는 함수이다.
# 1행 ~전체 행수에서 임의의 10%의 데이터를 무작위로 추출한다.
choice1 <- sample(0.1 * nrow(abcCsv))
choice1
abcCsv[choice1,]
# 3행 ~전체 행수에서 임의의 2개의 데이터를 무작위로 추출한다.
choice2 <- sample(3:nrow(abcCsv), 2)
choice2
# [1] 5 4
# 2행 ~ 6행 중에서 임의의 2개의 데이터를 무작위로 추출한다.
choice3 <- sample(c(2:6), 2)
choice3
# [1] 3 6
choice3 <- sample(c(2:6), 2)
choice3
# [1] 5 3
choice3 <- sample(c(2:6), 2)
choice3
# [1] 5 4
choice3 <- sample(c(2:6), 2)
choice3
# [1] 2 6
실행 결과
> abcCsv <- read.csv('Border_Crossing_Entry_Data.csv', header=T)
> abcCsv
Port.Name State Port.Code Border Date
1 Calexico East California 2507 US-Mexico Border 03/01/2019 12:00:00 AM
2 Van Buren Maine 108 US-Canada Border 03/01/2019 12:00:00 AM
~~~~~~~~~~~~~~~~
[ reached 'max' / getOption("max.print") -- omitted 346608 rows ]
> dim(abcCsv) # dimension
[1] 346733 8
> nrow(abcCsv) # 몇행인가요?
[1] 346733
> ncol(abcCsv) # 몇열인가요?
[1] 8
>
> # 샘플링 방법
> # nrow 함수는 전체 행의 개수를 구해주는 함수이다.
> # 1행 ~전체 행수에서 임의의 10%의 데이터를 무작위로 추출한다.
> choice1 <- sample(0.1 * nrow(abcCsv))
> choice1
[1] 31731 9951 80 26794 32230 4782 11524 26748 32219 12752 18420 24277 11444 20657 21282 1880 32647 27027
[19] 8185 30779 2096 18313 27693 20817 14919 627 23301 30214 17183 22023 18055 10436 10186 30542 5377 24085
~~~~~~~~~~~~~~~~~~~
>
> abcCsv[choice1,]
Port.Name State Port.Code Border Date
31731 Port Angeles Washington 3007 US-Canada Border 03/01/2016 12:00:00 AM
9951 Grand Portage Minnesota 3613 US-Canada Border 03/01/2018 12:00:00 AM
80 Roseau Minnesota 3426 US-Canada Border 03/01/2019 12:00:00 AM
~~~~~~~~~~~~~~~~~~~
>
> # 3행 ~전체 행수에서 임의의 2개의 데이터를 무작위로 추출한다.
> choice2 <- sample(3:nrow(abcCsv), 2)
> choice2
[1] 30142 234186
> # [1] 5 4
>
> # 2행 ~ 6행 중에서 임의의 2개의 데이터를 무작위로 추출한다.
> choice3 <- sample(c(2:6), 2)
> choice3
[1] 4 6
> # [1] 3 6
>
> choice3 <- sample(c(2:6), 2)
> choice3
[1] 4 5
> # [1] 5 3
>
> choice3 <- sample(c(2:6), 2)
> choice3
[1] 3 6
> # [1] 5 4
>
> choice3 <- sample(c(2:6), 2)
> choice3
[1] 3 6
> # [1] 2 6
>