delete rows based on whether the day is a wednesday or not
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I have a dataset with 18 columns and thousands of rows. In column 6 is always the date of the respective row. I would now like to check for which rows column 6 (dates) is a wednesday.
I already have the following code:
dataset=zeros(size(data18,1),19);
dataset(:,1:18)=data18;
numberEl=length(dataset(:,1));
numberID=[1:numberEl]';
dataset(:,19)=numberID;
d1=dataset(:,6);
dates=datestr(d1,'ddd-mm-yyyy');
M=[cellstr(dates) num2cell((1:numberEl)')];
M=M(ismember(dates(:,1:3),'Wed','rows'),:);
nums = [M{:,2}];
rowsToKeep=nums';
rowsToDeleteNotWednesday=dataset(:,19)~rowsToKeep;
dataset(rowsToDeleteNotWednesday, :) = [];
The last two lines of code is not working. In column 19, I have all numbers from one till the end of the vector and I though that there could be a way that everytime that number is not equal to one of the numbers in vector rowsToKeep, the entire row will be deleted.
0 comentarios
Respuesta aceptada
Azzi Abdelmalek
el 4 de Mayo de 2013
You can use
idx=find(ismember(dates(:,1:3),'Wed','rows'));
3 comentarios
Azzi Abdelmalek
el 4 de Mayo de 2013
dataset=zeros(size(data18,1),19);
dataset(:,1:18)=data18;
numberEl=length(dataset(:,1));
numberID=[1:numberEl]';
dataset(:,19)=numberID;
d1=dataset(:,6);
dates=datestr(d1,'ddd-mm-yyyy');
rowsToKeep=find(ismember(dates(:,1:3),'Wed','rows'));
final_dataset=dataset(rowsToKeep,:)
Más respuestas (0)
Ver también
Categorías
Más información sobre Tables 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!