모든 지역마다 하나의 임의 사이트를 가져 와서 새 데이터 프레임을 만들고 모든 사이트를 샘플링 할 때까지이 프로세스를 반복하고 싶습니다. 따라서 각 데이터 프레임에는 동일한 지역의 동일한 사이트가 포함되지 않습니다.그룹별로 무작위로 샘플링하고 그룹 내의 모든 엔티티가 샘플링 될 때까지 새 데이터 프레임을 만듭니다.
실제 데이터 프레임의 몇몇 영역에는 다른 영역보다 더 많은 사이트 (지역 C에는 4 개의 사이트가 있음)가 있습니다. 그 행을 제거하고 싶습니다 (아마 여러 개의 데이터 프레임을 만들기 전에이 작업을 수행해야합니다). 주어진에 대해 동일한 사이트가 포함 된 데이터 프레임을 3 회 다음 코드 반복
mydf <- read.table(header = TRUE, text = 'V1 V2 Region Site
5 1 A X1
5 6 A X2
8 9 A X3
2 3 B X1
3 1 B X2
7 8 B X3
1 2 C X1
9 4 C X2
4 5 C X3
6 7 C X4')
이 생성 여기
는 예시적인 데이터 프레임을 인 (실수 하나> 100 개 지역 및> 10 개 사이트 지역마다 있음) Region (두 번째 및 세 번째 테이블 모두 Region A에 대해 Site X2를 가짐).do.call(rbind, lapply(split(mydf, mydf$Region), function(x) x[sample(nrow(x), 1), ]))
V1 V2 Region Site
A 8 9 A X3
B 2 3 B X1
C 6 7 C X4
V1 V2 Region Site
A 5 6 A X2
B 7 8 B X3
C 9 4 C X2
V1 V2 Region Site
A 5 6 A X2
B 3 1 B X2
C 6 7 C X4
당신은 모든 데이터 프레임이 모든 지역을 포함 할 수 있도록 나 여러 데이터 프레임을 만들 수 있도록 도와 주 시겠어요하지만, 각 데이터 프레임은 독특한 지역 사이트의 조합을 포함한다.
EDIT : 예상되는 출력입니다. 이들을 생성하려면 첫 번째 샘플링에서 모든 Region에서 임의로 하나의 Site (행)을 그리고 데이터 프레임을 만듭니다. 두 번째 샘플링에서 동일한 프로세스를 반복하되 주어진 지역에 대해 동일한 사이트를 그릴 수는 없습니다. 내가 원하는 것은 Region-Site의 고유 한 조합을 포함하는 독립적 인 데이터 프레임입니다.
는V1 V2 Region Site
5 1 A X1
7 8 B X3
1 2 C X1
V1 V2 Region Site
5 6 A X2
3 1 B X2
4 5 C X3
V1 V2 Region Site
8 9 A X3
2 3 B X1
9 4 C X2
R 코딩에 대한 질문은 일반적으로 여기에서 주제가 아닙니다. 나는 이것이 [SO]에 관한 화제가 될 것이라고 생각한다. 기다리면 마이그레이션을 시도 할 수 있습니다. – gung
죄송합니다. 마이그레이션 해 주셔서 감사합니다. –
예상 출력을 표시 할 수 있습니까? – akrun