MATLAB: To separate a set of data into two groups

separating data

Assume we have the following array as declared in the following example: x(1)=1 x(2)=2 x(3)=3 x(4)=4 x(5)=5 . up to . . x(100)=100 Assume we have already read this array (i.e stored already in x(i)) how can write a MATLAB code to select 30% of the observation x(i).How can form two groups ,1st containing 30% and 2nd containing 70%

Best Answer

You need to mention whether you want data to be divided randomly or is there a certain sequence or rule following which you want the division to be carried out.
In case , there is a certain rule or pattern you need to mention it and the associated difficulty therein so that we can answer accurately. If the division is to be carried out randomly, then the very first things that come to my mind are :-
a) Use randsample to randomly sample 30 values out of the 100 values and take it in one group and the rest of the elements in the other group.
b) Use k-fold validation (see cvpartition in matlab).
Depending on the particular application you have in your mind use the relevant function. If you have any further queries, put it in clear words and I would be happy to help
Ujjwal