How do you remove rows from tall arrays?

5 visualizaciones (últimos 30 días)
R
R el 4 de Abr. de 2022
Comentada: R el 5 de Abr. de 2022
For normal arrays, I would usually use the following code to remove the rows that I did not want.
array(1:100,) = [];
However, I get the following error and can not remove the rows.
For A(m,n,...) = [], m must be either a colon (:) or a tall logical vector.
  2 comentarios
Stephen23
Stephen23 el 4 de Abr. de 2022
Did you try using a tall logical vector?
R
R el 5 de Abr. de 2022
I did not understand how to implement that when deleting the first 100 rows

Iniciar sesión para comentar.

Respuesta aceptada

Edric Ellis
Edric Ellis el 4 de Abr. de 2022
As the error message states, the only way to remove specific rows from a tall array is with a logical vector. In other words, the following is valid:
t = tall(rand(100,1));
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 2).
t(t < 0.2) = []
t = M×1 tall double column vector 0.9291 0.4580 0.8203 0.9105 0.2477 0.8635 0.5471 0.4856 : :
In your particular case, instead of deleting elements, you can instead simply select the remainder of the array:
t = tall(rand(1000, 1));
t2 = t(101:end)
t2 = M×1 tall double column vector ? ? ? : :

Más respuestas (0)

Categorías

Más información sobre Large Files and Big Data en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by