Hi,
I have a dataset
A B C 5.450 26.950 1.000 4.850 26.030 0.000 2.650 21.960 0.000 2.720 22.310 0.000
I would like to subset data for values C=1 as shown below:
A B C 3.520 24.270 1.000 3.730 24.720 1.000 4.650 25.930 1.000
Could you please let me know how to do this?
Have a nice time
1 Answer
0
You can use the selif command to "select" some rows of the data "if" they meet some condition.
selif
takes two inputs:
- The data from which the subset should be selected.
- A vector of 1's and 0's indicating which rows should be selected.
Since your third column is already a vector with 1's for the rows we want to select, you can just do this:
X = { 3.52 24.27 1,
3.73 24.72 1,
4.65 25.93 1,
5.45 26.95 1,
4.85 26.03 0,
2.65 21.96 0,
2.72 22.31 0 };
// Select rows where the element
// in the third row is non-zero
X_subset = selif(X, X[.,3]);
print X_subset;
which will print out:
3.520 24.270 1.000 3.730 24.720 1.000 4.650 25.930 1.000 5.450 26.950 1.000
Your Answer
1 Answer
0
You can use the selif command to "select" some rows of the data "if" they meet some condition.
selif
takes two inputs:
- The data from which the subset should be selected.
- A vector of 1's and 0's indicating which rows should be selected.
Since your third column is already a vector with 1's for the rows we want to select, you can just do this:
X = { 3.52 24.27 1,
3.73 24.72 1,
4.65 25.93 1,
5.45 26.95 1,
4.85 26.03 0,
2.65 21.96 0,
2.72 22.31 0 };
// Select rows where the element
// in the third row is non-zero
X_subset = selif(X, X[.,3]);
print X_subset;
which will print out:
3.520 24.270 1.000 3.730 24.720 1.000 4.650 25.930 1.000 5.450 26.950 1.000