In [1]:
import glob
import csv
from operator import add
import scipy.stats as stat

#Dateiliste erstellen
files = []
for filename in glob.glob('/home/weiss/data/*.csv'):
    files.append(filename)
    
#read files
seen = 0
trials = 0
catchseen = 0
catchtrials = 0
deltas = []
freqs = []
for filename in files:
    data = csv.reader(open(filename, "rb"), delimiter=',')
    data.next()
    data.next()
    data.next()
    for row in data:
        freqdiff = abs(int(row[0][0:-2])-int(row[1][0:-2]))
        if float(row[3]) < float(row[4]):
            if row[0] != row[1]:
                trials += 1
                if row[5] == 'y':
                    seen += 1
                    deltas.append((freqdiff,1))
                    freqs.append((int(row[0][0:-2]),int(row[1][0:-2]),1))
                else:
                    deltas.append((freqdiff,0))
                    freqs.append((int(row[0][0:-2]),int(row[1][0:-2]),0))
            if row[0] == row[1]:
                catchtrials += 1
                if row[5] == 'n':
                    catchseen += 1
        else:
            print row
                                        
d_delta = {}
for freq, count in deltas:
    if freq not in d_delta:
        d_delta[freq] = [0,0]
    d_delta[freq][0] += 1
    if count:
        d_delta[freq][1] += 1
        
d_freqs = {}
for freq1, freq2, count in freqs:
    if (freq1, freq2) not in d_freqs:
        d_freqs[(freq1, freq2)] = [0,0]
    d_freqs[(freq1, freq2)][0] += 1
    if count:
        d_freqs[(freq1, freq2)][1] += 1
        

d_all = d_freqs.copy()
d_all['overall\ncorrectness'] = (1, round(float(seen)/trials, 3))
d_all['false\npositives'] = (1, 1-round(float(catchseen)/catchtrials, 3))

print 'seeing-prob:', round(100.*seen/trials, 3), '%'
print 'catchtrial accuracy:', round(100.*catchseen/catchtrials), '%'

delta_std = loadtxt("/home/weiss/data/delta_std.txt", delimiter=', ')
d_all_std = loadtxt("/home/weiss/data/d_all_std.txt", delimiter=', ')
contrast_std = loadtxt("/home/weiss/data/contrast_std.txt", delimiter=', ')

print delta_std[:,2].shape

delta_std = [stat.sem(delta_std[:,i]) for i in range(delta_std.shape[1])]
d_all_std = [stat.sem(d_all_std[:,i]) for i in range(d_all_std.shape[1])]
contrast_std = [stat.sem(contrast_std[:,i]) for i in range(contrast_std.shape[1])]

f, p = plt.subplots(1, figsize=(12,7))

ids = [2, 6, 8, 15, 17, 21]
zweihunderter = [(200,400), (400,200), (400,600), (600,400), (600,800), (800,600)]

zweihundert = [(200,400), (400,200), (200,500), (500,200), (200,600), (600,200), (200,800), (800,200)]
ids2 = [2,6,3,10,4,14,5,18]

niedrige = []
ids3 = []

p.bar(range(6), [float(d_all[key][1])/d_all[key][0] for key in zweihunderter], align='center', alpha=.3, width=.2, yerr=[d_all_std[i] for i in ids], ecolor='k', error_kw={'elinewidth':2})
p.set_xticks(range(6))
p.set_xticklabels(zweihunderter)
p.set_ylim(0, 1.1)
p.set_xlim(-1, 6)
#p.grid()
#p.set_title('Probability of Seeing', fontsize=15)
p.set_xlabel('Frequenzen [Hz]', fontsize=15)
p.set_ylabel('P', fontsize=15)
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)
plt.tight_layout()
#plt.savefig('/home/weiss/ba/figures/delta200.pdf')


['200.0', '800.0', '1.3', '0.6', '0.30572104454', 'y', '1']
['400.0', '800.0', '1.4', '1.1', '1.01087594032', 'n', '0']
seeing-prob: 52.504 %
catchtrial accuracy: 95.0 %
(6,)

In [ ]: