R에서 무작위 샘플을 선택하는 방법: 예 포함


R에서 무작위 샘플을 선택하려면 다음 구문을 사용하는 Sample() 함수를 사용할 수 있습니다.

샘플(x, 크기, 교체=FALSE, prob=NULL)

금:

  • x: 선택할 요소의 벡터입니다.
  • 크기: 샘플 크기.
  • 교체: 교체품으로 샘플링할지 여부입니다. 기본값은 false입니다.
  • prob: 벡터에서 요소를 얻기 위한 확률 가중치의 벡터입니다. 기본값은 NULL입니다.

이 튜토리얼에서는 이 함수를 사용하여 벡터와 데이터 프레임 모두에서 R의 무작위 샘플을 선택하는 방법을 설명합니다.

예 1: 벡터의 무작위 샘플

다음 코드는 대체 없이 벡터에서 무작위 샘플을 선택하는 방법을 보여줍니다.

 #create vector of data
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

#select random sample of 5 elements without replacement
sample(x=data, size=5)

[1] 10 12 5 14 7

다음 코드는 대체를 사용하여 벡터에서 무작위 샘플을 선택하는 방법을 보여줍니다.

 #create vector of data
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

#select random sample of 5 elements with replacement
sample(x=data, size=5, replace= TRUE )

[1] 12 1 1 6 14

예 2: 데이터 블록의 무작위 표본

다음 코드는 데이터 프레임에서 무작위 샘플을 선택하는 방법을 보여줍니다.

 #create data frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

#view data frame 
df

   X Y Z
1 3 12 2
2 5 6 7
3 6 4 8
4 6 23 8
5 8 25 15
6 12 8 17
7 14 9 29

#select random sample of three rows from data frame
rand_df <- df[ sample ( nrow (df), size= 3 ), ]

#display randomly selected rows
rand_df

   X Y Z
4 6 23 8
7 14 9 29
1 3 12 2

이 코드에서 일어나는 일은 다음과 같습니다.

1. R에서 데이터 프레임의 하위 집합을 선택하려면 다음 구문을 사용합니다: df[rows, columns]

2. 위 코드에서는 데이터 프레임과 모든 열에서 3개 행의 샘플을 무작위로 선택합니다.

3. 최종 결과는 무작위로 선택된 3개의 행이 있는 데이터 프레임의 하위 집합입니다.

샘플() 함수를 사용할 때마다 R은 함수가 값을 무작위로 선택하므로 다른 샘플을 선택한다는 점에 유의하는 것이 중요합니다.

특정 분석의 결과를 재현하려면 set.seed(일부 숫자)를 사용하여 Sample() 함수가 매번 동일한 무작위 샘플을 선택하도록 해야 합니다. 예를 들어:

 #make this example reproducible
set.seed(23)

#create data frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

#select random sample of three rows from data frame
rand_df <- df[ sample ( nrow (df), size= 3 ), ]

#display randomly selected rows
rand_df

   X Y Z
5 8 25 15
2 5 6 7
6 12 8 17

위의 코드를 실행할 때마다 데이터 프레임의 동일한 3개 행이 매번 선택됩니다.

추가 리소스

R의 계층화된 샘플링(예제 포함)
R의 체계적 샘플링(예제 포함)
R의 클러스터 샘플링: 예제 포함

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다