muestreo aleatorio - matriz

¿Cómo puedo tomar una muestra de n puntos aleatorios de una matriz poblada con 1 y 0?

a=rep(0:1,5)
b=rep(0,10)
c=rep(1,10)
dataset=matrix(cbind(a,b,c),nrow=10,ncol=3)

dataset
      [,1] [,2] [,3]
 [1,]    0    0    1
 [2,]    1    0    1
 [3,]    0    0    1
 [4,]    1    0    1
 [5,]    0    0    1
 [6,]    1    0    1
 [7,]    0    0    1
 [8,]    1    0    1
 [9,]    0    0    1
[10,]    1    0    1

Quiero asegurarme de que las posiciones (fila, col) de donde tomé las N muestras son aleatorias.

Lo sésample {base} pero no parece permitirme hacer eso, otros métodos que conozco son métodos espaciales que me obligarán a agregar x, y y cambiarlo a un objeto espacial y nuevamente a una matriz normal.

Más informació

Al azar, quiero decir que también se extiende dentro del "espacio de la matriz", p. si hago una muestra de 4 puntos que no quiero tener como resultado 4 puntos vecinos, quiero que se extiendan en el "espacio de la matriz".

Conocer la posición (fila, col) en la matriz donde saqué los puntos aleatorios también sería importante.

Respuestas a la pregunta(4)

Su respuesta a la pregunta