1
각 행에서 무작위로 샘플링 된 행렬에서 샘플링 된 열을 결정하려고합니다. 함수 샘플에는 실제로 샘플링 된 위치를 알려주지 않는 것으로 보입니다. 이제 모든 값이 고유하면 단순한 매칭 루틴으로 문제를 해결할 수 있습니다. 그러나, 그들은 내 경우에 있지 않습니다, 그래서 이것은 작동하지 않습니다.R 샘플은 매트릭스?
x <- c(2,3,5,1,6,7,2,3,5,6,3,5)
y <- matrix(x,ncol=4,nrow=3)
random <- t(apply(y,1,sample,2,replace=FALSE))
원래 매트릭스의 반복 값
[,1] [,2]
[1,] 2 6
[2,] 3 3
[3,] 5 5
[,1] [,2] [,3] [,4]
[1,] 2 1 2 6
[2,] 3 6 3 3
[3,] 5 7 5 5
임의의 Y, I는 말할 수없는 경우에는 임의의 [1,1] 1 열 또는 3 열에서 채취하여, 둘 다 값이 2이기 때문에 일치가 여기에서 작동하지 않습니다.
"random"행렬과 함께, 동일한 값의 행렬로 각 값이 샘플링 된 행렬을 제공하는 행렬을 원합니다. 예 :
[,1] [,2]
[1,] 1 4
[2,] 1 3
[3,] 3 4
감사합니다.
@flodel을 - 감사 - 나는 당신의 코멘트를 편집했습니다 - 그것은 간단하고 거의 확실히 빠릅니다. – thelatemail
+1. 속도가 중요하다면,'microbenchmark (sample (1 : 4,2), sample.int (4,2))'(후자는 약 절반의 시간 소요)를보십시오. – Frank
내가 필요한 것. 정말 고맙습니다!!! – Nate