how can i randomly sample from a matrix and determine the remaining part?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
EM geo
el 9 de Nov. de 2018
Comentada: EM geo
el 9 de Nov. de 2018
i have a matrix (D) having 343 rows and 7 columns and i want to sample randomly the 30% of the data and determine the remaining 70% (no randomly). I wrote this code for randomly sample the 30% but i don't know how determine the rest.
perc =30; %percentual
n = round(343*perc/100); % number of rows associated to 30% of data
c=randperm(length(D),n);
D1=D(c,:) %output matrix
0 comentarios
Respuesta aceptada
Bruno Luong
el 9 de Nov. de 2018
Editada: Bruno Luong
el 9 de Nov. de 2018
D2=D(setdiff(1:end,c),:)
or
b = ~logical(accumarray(c(:),1,[size(D,1) 1]));
D2 = D(b,:);
or
b = true([size(D,1) 1]);
b(c) = false;
D2 = D(b,:);
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!