2017-12-29 4 views
0

8 열과 10,000 행을 포함하는 데이터 프레임이 있습니다. 나는 무작위로 (예 : 1A 2A와) 값이 TRUE있는 "1"과 "2"모든 열 조합에 대해 3 개 행을 샘플링하고 싶은부울 조건이있는 무작위로 샘플 데이터 프레임

enter image description here

내 초기 시도는 다음과 같은 것입니다 :

df[sample(nrow(df[df$1a == TRUE & df$2a == TRUE,]), 3), ]

출력을 제공합니다.

 1a 1b 1c 1d 2a 2b 2c 2d 
1136 FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE 
1021 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE 
589 FALSE TRUE FALSE FALSE FALSE TRUE FALSE FALSE 

행이 1a 및 2a의 경우 FALSE입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 고맙습니다. 그런 경우가 없기 때문에

+2

하지 않습니다. 어쩌면'df [sample (df $ 1a == TRUE & df $ 2a == TRUE), 3),]'을 시도해보십시오. – nicola

+0

이 덕분에 대단히 감사합니다! – Workhorse

답변

2

코드

df[df$1a == TRUE & df$2a == TRUE,] 

의이 조각은 0 행을 반환해야합니다.

데이터 프레임이 그 10 선이 문자로 TRUE 사용하려고보다가있는 경우 : 그다지 명확

df[sample(nrow(df[df$1a == "TRUE" & df$2a == "TRUE",]), 3), ] 
+0

"TRUE"를 사용하면 항상 작은 것들입니다. 감사합니다! – Workhorse

관련 문제