How do you remove rows from tall arrays?

5 vues (au cours des 30 derniers jours)
R
R le 4 Avr 2022
Commenté : R le 5 Avr 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 commentaires
Stephen23
Stephen23 le 4 Avr 2022
Did you try using a tall logical vector?
R
R le 5 Avr 2022
I did not understand how to implement that when deleting the first 100 rows

Connectez-vous pour commenter.

Réponse acceptée

Edric Ellis
Edric Ellis le 4 Avr 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 ? ? ? : :

Plus de réponses (0)

Catégories

En savoir plus sur Large Files and Big Data dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by