How do you remove rows from tall arrays?

7 visualizzazioni (ultimi 30 giorni)
R
R il 4 Apr 2022
Commentato: R il 5 Apr 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 Commenti
Stephen23
Stephen23 il 4 Apr 2022
Did you try using a tall logical vector?
R
R il 5 Apr 2022
I did not understand how to implement that when deleting the first 100 rows

Accedi per commentare.

Risposta accettata

Edric Ellis
Edric Ellis il 4 Apr 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 ? ? ? : :

Più risposte (0)

Categorie

Scopri di più su Large Files and Big Data in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by