def refixLaunch(exp,corr=False, trim=True, bins=8): """ """ src = 'selected_dm_%s_WITH_drift_corr_onlyControl_True.csv' % exp dm = CsvReader(src).dataMatrix() lat1 = "saccLat1" lat2 = "saccLat2" if corr: fix1 = "endX1CorrNormToHandle" fix2 = "endX2CorrNormToHandle" else: fix1 = "endX1NormToHandle" fix2 = "endX2NormToHandle" for var in [lat1, lat2, fix1, fix2]: dm = dm.select("%s != ''" % var) # Trim the data if trim: dm = dm.selectByStdDev(["file"],lat2, verbose=False) dm = dm.removeField("__dummyCond__") dm = dm.removeField("__stdOutlier__") dm = dm.selectByStdDev(["file"], fix2, verbose=False) dm = dm.addField('saccLat2_perc', dtype=float) dm = dm.calcPerc(lat2, 'saccLat2_perc', nBin=bins) cmLat1 = dm.collapse(['saccLat2_perc'], lat1) cmX = cmLat2 = dm.collapse(['saccLat2_perc'], lat2) cmFix1 = dm.collapse(['saccLat2_perc'], fix1) cmFix2 = dm.collapse(['saccLat2_perc'], fix2) fig = plt.figure(figsize = (3,6)) plt.subplots_adjust(left=.2, bottom=.15) colList = [orange[1], blue[1]] nRows = 3 nCols = 1 nPlot = 0 lTitles = ["Landing pos 2", "Landing pos 1"] lTitles.reverse() for cmY in [cmFix2, cmFix1]:#, cmLat1]: #nPlot +=1 #plt.subplot(nRows, nCols, nPlot) color = colList.pop() plt.plot(cmX['mean'], cmY['mean'], marker = 'o', color=color, \ markerfacecolor='white', markeredgecolor=color, \ markeredgewidth=1) plt.xlabel("Sacc lat 2") plt.legend(lTitles, frameon=False, loc='best') plt.axhline(0, linestyle = "--", color = gray[3]) plt.savefig("Launch_site_refixations_%s_corr_%s.png" % (exp, corr))
def crossExpDescriptives(dm): for exp in ['exp1', 'exp2', 'exp3']: dm = CsvReader('data/%s.data.csv' % exp).dataMatrix() if exp == 'exp1': dm = dm.select('trialType == "control"') elif exp == 'exp3': print dm.collapse(['cond'], 'rt') stats.R.load(dm) lm = stats.R.lmer('rt ~ cond + (1+cond|subject_nr)') print lm rt = dm['rt'] print 'Exp = %s' % exp print 'N = %d' % len(rt) print 'RT = %.2f ms (%.2f)' % (rt.mean(), rt.std()) a = np.loadtxt('data/%s.fixdur.csv' % exp) print 'Fixdur = %.2f ms (%.2f)' % (a.mean(), a.std())
src = 'selected_dm_004B_WITH_drift_corr_onlyControl_True.csv' dm = CsvReader(src).dataMatrix() sacc = "1" dvNorm = "endX1CorrNormToHandle" dvRaw = "endX1CorrNorm" dm = onObject.onObject(dm, sacc) print "ANOVA" am = AnovaMatrix(dm, ["handle_side"], dvRaw, "file")._print(ret=True) print am print 'One-sample test scipy' cm = dm.collapse(["file"], dvNorm) ref = 0 t, p = scipy.stats.ttest_1samp(cm['mean'], ref) print "t = ",t print "p = ", p # Paired-samples t-test: print "paired samples t-test" l = [] for handle in dm.unique("handle_side"): handle_dm = dm.select("handle_side == '%s'" % handle) cm = handle_dm.collapse(["file"], dvRaw) l.append(cm["mean"]) t, p = scipy.stats.ttest_rel(l[0], l[1])
def ovp(exp,corr=False, trim=True, bins=8): """ """ src = 'selected_dm_%s_WITH_drift_corr_onlyControl_True.csv' % exp dm = CsvReader(src).dataMatrix() lat1 = "saccLat1" lat2 = "saccLat2" prob = "saccCount" dur1 = "durationFix1" dur2 = "durationFix2" total = "gazeDur" rt = "rtFromStim" if corr: fix1 = "endX1CorrNormToHandle" fix2 = "endX2CorrNormToHandle" else: fix1 = "endX1NormToHandle" fix2 = "endX2NormToHandle" for var in [lat1, lat2, fix1, fix2, dur1, dur2, total, rt]: dm = dm.select("%s != ''" % var) # Trim the data if trim: dm = dm.selectByStdDev(["file"],lat2, verbose=False) dm = dm.removeField("__dummyCond__") dm = dm.removeField("__stdOutlier__") dm = dm.selectByStdDev(["file"], fix2, verbose=False) dm = dm.addField('land2_perc', dtype=float) dm = dm.calcPerc(fix2, 'land2_perc', nBin=bins) cmLat1 = dm.collapse(['land2_perc'], lat1) cmLat2 = dm.collapse(['land2_perc'], lat2) cmFix1 = dm.collapse(['land2_perc'], fix1) cmX = cmFix2 = dm.collapse(['land2_perc'], fix2) cmProb = dm.collapse(['land2_perc'], prob) cmDur1 = dm.collapse(['land2_perc'], dur1) cmDur2 = dm.collapse(['land2_perc'], dur2) cmTotal = dm.collapse(['land2_perc'], total) cmRt = dm.collapse(['land2_perc'], rt) fig = plt.figure(figsize = (3,10)) plt.subplots_adjust(left=.2, bottom=.15, hspace = .2) lTitles = ["dur 1", "prob", "land 1", "rt", "total", "lat 1", "lat 2", "dur 2"] lTitles.reverse() nRows = len(lTitles) nCols = 1 nPlot = 0 for cmY in [cmDur1, cmProb, cmFix1, cmRt, cmTotal, \ cmLat1, cmLat2, cmDur2]: nPlot +=1 ax = plt.subplot(nRows, nCols, nPlot) #color = colList.pop() color = blue[1] plt.plot(cmX['mean'], cmY['mean'], marker = 'o', color=color, \ markerfacecolor='white', markeredgecolor=color, \ markeredgewidth=1) plt.ylabel(lTitles.pop()) plt.axvline(0, linestyle = "--", color = gray[3]) if nPlot == nRows: plt.xlabel("Second landing position") else: ax.xaxis.set_ticklabels([]) plt.savefig("ovp2_%s_corr_%s.png" % (exp, corr))