|
@@ -0,0 +1,125 @@
|
|
|
+%Name: dataProcessValid.m
|
|
|
+%
|
|
|
+%Autor: Xuelian Zang
|
|
|
+%Description: process valid data for selected subjects with stable
|
|
|
+%performance
|
|
|
+%
|
|
|
+%Date: 22/09/2015
|
|
|
+function dataOut = dataProcessValid(dataIn,Exp)
|
|
|
+try
|
|
|
+
|
|
|
+ %plot black and white together
|
|
|
+ trainMeanSub_RT1 = grpstats(dataIn.train.valid(dataIn.train.valid.RT1 > 0, :), {'New1','NE','NSub'},{'mean','numel'}, 'datavars',{'RT1'});
|
|
|
+ if ~isempty(trainMeanSub_RT1)
|
|
|
+ trainMeanAllCombine_RT1 = grpstats(trainMeanSub_RT1, {'New1','NE'},{'mean','sem','numel'}, 'datavars',{'mean_RT1'});
|
|
|
+ %o1E1 o1E2 o1E3 o1E4 o1E5 o0E1 o0E2 o0E3 o0E4 o0E5
|
|
|
+ subNumLeft = length(unique(trainMeanSub_RT1.NSub) );
|
|
|
+ dataOut.forSpss.trainRTLeftCombine = dataset({reshape(trainMeanSub_RT1.mean_RT1, subNumLeft, []),...
|
|
|
+ 'o1E1', 'o1E2', 'o1E3', 'o1E4', 'o1E5' , 'o0E1', 'o0E2', 'o0E3', 'o0E4', 'o0E5'} );
|
|
|
+ end
|
|
|
+ trainMeanSub_RT2 = grpstats(dataIn.train.valid(dataIn.train.valid.RT2 > 0, :), {'New1','NE','NSub'},{'mean','numel'}, 'datavars',{'RT2'});
|
|
|
+ if ~isempty(trainMeanSub_RT2)
|
|
|
+ trainMeanAllCombine_RT2 = grpstats(trainMeanSub_RT2, {'New1','NE'},{'mean','sem','numel'}, 'datavars',{'mean_RT2'});
|
|
|
+ subNumRight = length(unique(trainMeanSub_RT2.NSub) );
|
|
|
+ dataOut.forSpss.trainRTRightCombine = dataset({reshape(trainMeanSub_RT2.mean_RT2, subNumRight, []),...
|
|
|
+ 'o1E1', 'o1E2', 'o1E3', 'o1E4', 'o1E5' , 'o0E1', 'o0E2', 'o0E3', 'o0E4', 'o0E5'} );
|
|
|
+ end
|
|
|
+
|
|
|
+ %% test session, all color instruction reversed
|
|
|
+ testMeanSub_RT1 = grpstats(dataIn.test.valid(dataIn.test.valid.RT1 > 0, :), {'New1','NE','NSub'},{'mean','numel'}, 'datavars',{'RT1'});
|
|
|
+ if ~isempty(testMeanSub_RT1)
|
|
|
+ testMeanAllCombine_RT1 = grpstats(testMeanSub_RT1, {'New1','NE'},{'mean','sem','numel'}, 'datavars',{'mean_RT1'});
|
|
|
+ dataOut.forSpss.testRTLeft = dataset({reshape(testMeanSub_RT1.mean_RT1, subNumLeft, []),'old','new'});
|
|
|
+ end
|
|
|
+ testMeanSub_RT2 = grpstats(dataIn.test.valid(dataIn.test.valid.RT2 > 0, :), {'New1','NE','NSub'},{'mean','numel'}, 'datavars',{'RT2'});
|
|
|
+ if ~isempty(testMeanSub_RT2)
|
|
|
+ testMeanAllCombine_RT2 = grpstats(testMeanSub_RT2, {'New1','NE'},{'mean','sem','numel'}, 'datavars',{'mean_RT2'});
|
|
|
+ dataOut.forSpss.testRTRight = dataset({reshape(testMeanSub_RT2.mean_RT2, subNumRight, []),'old','new'});
|
|
|
+ end
|
|
|
+
|
|
|
+ if ~isempty(testMeanSub_RT1) && ~isempty(testMeanSub_RT2)
|
|
|
+ %combine the left and right participants together
|
|
|
+ dataCombine = dataset( {[ trainMeanSub_RT1.New1 trainMeanSub_RT1.NE trainMeanSub_RT1.NSub trainMeanSub_RT1.mean_RT1; ...
|
|
|
+ trainMeanSub_RT2.New1 trainMeanSub_RT2.NE trainMeanSub_RT2.NSub trainMeanSub_RT2.mean_RT2; ...
|
|
|
+ testMeanSub_RT1.New1 testMeanSub_RT1.NE testMeanSub_RT1.NSub testMeanSub_RT1.mean_RT1; ...
|
|
|
+ testMeanSub_RT2.New1 testMeanSub_RT2.NE testMeanSub_RT2.NSub testMeanSub_RT2.mean_RT2;], ...
|
|
|
+ 'New', 'NE', 'NSub','meanRT'});
|
|
|
+ tmp = grpstats(dataCombine, {'New','NE','NSub'},{'mean','numel'}, 'datavars',{'meanRT'});
|
|
|
+ dataOut.forSpss.RTAllCombine = dataset({reshape(tmp.mean_meanRT, Exp.subNum, []),...
|
|
|
+ 'o1E1', 'o1E2', 'o1E3', 'o1E4', 'o1E5' ,'o1E6','o0E1', 'o0E2', 'o0E3', 'o0E4', 'o0E5', 'o0E6'} );
|
|
|
+ elseif ~isempty(testMeanSub_RT1)
|
|
|
+ %combine the left and right participants together
|
|
|
+ dataCombine = dataset( {[ trainMeanSub_RT1.New1 trainMeanSub_RT1.NE trainMeanSub_RT1.NSub trainMeanSub_RT1.mean_RT1; ...
|
|
|
+ testMeanSub_RT1.New1 testMeanSub_RT1.NE testMeanSub_RT1.NSub testMeanSub_RT1.mean_RT1;], ...
|
|
|
+ 'New', 'NE', 'NSub','meanRT'});
|
|
|
+ tmp = grpstats(dataCombine, {'New','NE','NSub'},{'mean','numel'}, 'datavars',{'meanRT'});
|
|
|
+ dataOut.forSpss.RTAllCombine = dataset({reshape(tmp.mean_meanRT, Exp.subNum, []),...
|
|
|
+ 'o1E1', 'o1E2', 'o1E3', 'o1E4', 'o1E5' ,'o1E6','o0E1', 'o0E2', 'o0E3', 'o0E4', 'o0E5', 'o0E6'} );
|
|
|
+ else
|
|
|
+ dataCombine = dataset( {[trainMeanSub_RT2.New2 trainMeanSub_RT2.NE trainMeanSub_RT2.NSub trainMeanSub_RT2.mean_RT2; ...
|
|
|
+ testMeanSub_RT2.New1 testMeanSub_RT2.NE testMeanSub_RT2.NSub testMeanSub_RT2.mean_RT2;], ...
|
|
|
+ 'New', 'NE', 'NSub','meanRT'});
|
|
|
+ tmp = grpstats(dataCombine, {'New','NE','NSub'},{'mean','numel'}, 'datavars',{'meanRT'});
|
|
|
+ dataOut.forSpss.RTAllCombine = dataset({reshape(tmp.mean_meanRT, Exp.subNum, []),...
|
|
|
+ 'o1E1', 'o1E2', 'o1E3', 'o1E4', 'o1E5' ,'o1E6','o0E1', 'o0E2', 'o0E3', 'o0E4', 'o0E5', 'o0E6'} );
|
|
|
+ end
|
|
|
+
|
|
|
+ dataCombineMean = grpstats(dataCombine, {'New','NE'},{'mean','sem','numel'}, 'datavars',{'meanRT'});
|
|
|
+
|
|
|
+ %plot all data together
|
|
|
+ figure(); hold on; set(gcf,'Units','inches','Position',[2 2 6.83*0.5 6.83*0.5] );
|
|
|
+ errorbar(1:5, dataCombineMean.mean_meanRT(1:5),dataCombineMean.sem_meanRT(1:5), 'k-o');
|
|
|
+ errorbar(6, dataCombineMean.mean_meanRT(6),dataCombineMean.sem_meanRT(6), 'k-o');
|
|
|
+
|
|
|
+ errorbar(1:5, dataCombineMean.mean_meanRT(7:11),dataCombineMean.sem_meanRT(7:11), 'k-*');
|
|
|
+ errorbar(6, dataCombineMean.mean_meanRT(12), dataCombineMean.sem_meanRT(12), 'k-*');
|
|
|
+ xlim([0.5 6.5]);
|
|
|
+ ylabel('Reaction time (in Secs)');
|
|
|
+ xlabel('Epochs');
|
|
|
+ hold off;
|
|
|
+
|
|
|
+
|
|
|
+% nfig = ceil(sqrt(Exp.subNum) );
|
|
|
+% figure(); hold on;
|
|
|
+% for iSub = 1:Exp.subNum
|
|
|
+% train = trainMeanSub(trainMeanSub.NSub == iSub, :);
|
|
|
+% testEp6MeanSubTmp = testEp6MeanSub(testEp6MeanSub.NSub == iSub,:);
|
|
|
+% subplot(nfig,nfig,iSub); hold on;
|
|
|
+% plot(1:6, [train.mean_RT1(1:5); testEp6MeanSubTmp.mean_RT1(1) ]', 'r-o');
|
|
|
+% plot(1:6, [train.mean_RT1(6:10); testEp6MeanSubTmp.mean_RT1(2) ]', 'r-*');
|
|
|
+%
|
|
|
+% plot(1:6, [train.mean_RT2(1:5); testEp6MeanSubTmp.mean_RT2(1) ]', 'b-o');
|
|
|
+% plot(1:6, [train.mean_RT2(6:10); testEp6MeanSubTmp.mean_RT2(2) ]', 'b-*');
|
|
|
+%
|
|
|
+% ylabel('meanRT');
|
|
|
+% xlabel('Epochs');
|
|
|
+% set(gca,'XTick',[1:6]);
|
|
|
+% if iSub == 1
|
|
|
+% legend('oldLeft','newLeft','oldRight','newRight');
|
|
|
+% end
|
|
|
+% hold off
|
|
|
+% end
|
|
|
+%
|
|
|
+% %plot all subjects together, separate left and right participant
|
|
|
+% figure(); hold on;
|
|
|
+% errorbar(1:6, [trainMeanAllCombine.mean_mean_RT1(1:5); testEp6MeanAll.mean_mean_RT1(1) ], ...
|
|
|
+% [trainMeanAllCombine.sem_mean_RT1(1:5); testEp6MeanAll.sem_mean_RT1(1) ], 'r-o');
|
|
|
+% errorbar(1:6, [trainMeanAllCombine.mean_mean_RT1(6:10); testEp6MeanAll.mean_mean_RT1(2) ], ...
|
|
|
+% [trainMeanAllCombine.sem_mean_RT1(6:10); testEp6MeanAll.sem_mean_RT1(2) ],'r-*');
|
|
|
+%
|
|
|
+% errorbar(1:6, [trainMeanAllCombine.mean_mean_RT2(1:5); testEp6MeanAll.mean_mean_RT2(1) ],...
|
|
|
+% [trainMeanAllCombine.sem_mean_RT2(1:5); testEp6MeanAll.sem_mean_RT2(1) ], 'b-o');
|
|
|
+% errorbar(1:6, [trainMeanAllCombine.mean_mean_RT2(6:10); testEp6MeanAll.mean_mean_RT2(2) ], ...
|
|
|
+% [trainMeanAllCombine.sem_mean_RT2(6:10); testEp6MeanAll.sem_mean_RT2(2) ], 'b-*');
|
|
|
+%
|
|
|
+% ylabel('meanRT');
|
|
|
+% xlabel('Epochs');
|
|
|
+% set(gca,'XTick',[1:6]);
|
|
|
+% legend('oldLeft','newLeft','oldRight','newRight');
|
|
|
+% hold off;
|
|
|
+%
|
|
|
+
|
|
|
+
|
|
|
+catch ME
|
|
|
+ disp(ME.message);
|
|
|
+end
|