1 view (last 30 days)

I have two CSV files that are not equal sizes. for one of the files,I want to obtain all values for when column two is only equal to one. I already did this, the code for this is:

P = N(N(:,2)==1,:);

Now that I have all the data associated with column 2 when it equals to 1, I want this file to line up with another file. So where ever the second column is = to 1, i want the second file to only show values that are at the same position.

my code for this is:

Val = find(isnan(P));

P(Val) = [];

M(Val) = [];

So there arent any nan values in the data set but this does what I want it to do. P is the values associated with column 2 when it = to 1 and M is the second file.

Guillaume
on 11 Mar 2020

In your example, what you're asking is simply:

M(P(:, 2) ~= 1, :) = [] %remove all rows of M for which the corresponding row of P is not 1.

How this translates to your real use case, I'm not too sure, particularly as you say that M and P haven't got the same number of rows.

Guillaume
on 18 Mar 2020

What do you mean by 'rows that are extra'?

Again, having a concrete example of what you actually want would help.

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

Start Hunting!
## 2 Comments

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/510370-time-align-two-files#comment_808626

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/510370-time-align-two-files#comment_808626

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/510370-time-align-two-files#comment_808638

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/510370-time-align-two-files#comment_808638

Sign in to comment.