How to create NaN randomly based on specific rate in specific column
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I'm going to create NaN values in a data set. I found this basic code, but it is not specify for which column.
X = rand(10,2)
p = randperm(numel(X))
%p1 = randperm(X)
randel = p(1:5)
X(p(1:5)) = NaN
This is my code which is able to set NaN in the second column only: Y = rand(10,2) ratioNan=0.5 Y(rand(size(X(:,1)))<=ratioNan,2)=NaN
This code does not produces the result as expected. For instance, if i want to set the 50% NaN values, sometime it is created more or less than 50% of the records. How to change the code so that i will remove exactly 50% from the record specifically in the second column.
0 comentarios
Respuesta aceptada
KSSV
el 17 de Nov. de 2017
X = rand(10,2) ;
idx = randsample(size(X,1),size(X,1)/2) ;
X(idx,:) = NaN
1 comentario
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!