library(ERP);require(mnormt);require(fdrtool);library(ggplot2);library(dplyr)
library(erpR);require(akima);library(reshape2)
load("ERPdata.RData")
downsample <- function(data,datacol,window) {
        dta <- data
        dta_signal <- dta[,datacol]
        dta_othvar <- dta[,-datacol]
        num1 <- (dim(dta_signal)[2] - (dim(dta_signal)[2] %% window)) /window
        num2 <- dim(dta_signal)[2] %% window
        dta_downsample <- data.frame(melt(apply(dta_signal[,1:window],1,mean)))
        for (i in 1 : num1-1){
                dta_downsample <- cbind(dta_downsample,
                                        melt(apply(dta_signal[,(i*window+1):((i+1)*window)],
                                                   1,mean)))
        }
        if (num2 == 1) {
                 dta_downsample <- cbind(dta_downsample,
                                         value=dta_signal[,(num1*window+num2)])
                 ###### notice
        }
        if (num2 > 1) {
             dta_downsample <- cbind(dta_downsample,
                                melt(apply(dta_signal[,(num1*window+1):(num1*window+num2)],
                                           1,mean)))   
        }
        dta_downsample <- dta_downsample[,-1]
        colnames(dta_downsample) <- paste("value",1:dim(dta_downsample)[2],sep=".")
        dta_final  <- cbind(dta_othvar,dta_downsample)
        return(dta_final)
}
down1 <- downsample(ERPdata,2:427,
                    window = 5)  # User could set the inetrval 
head(down1)  # for example : 426/5 = 85...1 so we have 86 column of signal data.
  Channel Experiment Condition Subject      AveRT IQ   value.1    value.2
1     Fp1       Exp1   nonword   subj1 0.01340599 65 -1.448747 -1.7538242
2     Fp2       Exp1   nonword   subj1 0.01340599 65 -1.692416 -0.9664565
3      F3       Exp1   nonword   subj1 0.01340599 65 -1.175065 -0.5153238
4      F4       Exp1   nonword   subj1 0.01340599 65 -1.834995 -0.8219859
5      C3       Exp1   nonword   subj1 0.01340599 65 -2.579629  0.1202357
6      C4       Exp1   nonword   subj1 0.01340599 65 -1.553004 -1.4506531
   value.3     value.4     value.5    value.6     value.7    value.8
1 1.134164  0.80144384  0.70334599 -0.3567182  1.96236380  1.6490498
2 2.051617  2.42060020 -0.03335814 -0.5458316 -0.01624169  1.7533806
3 1.217749  0.61868294  1.46582836  0.8527114 -0.41047561  0.7933332
4 2.305153  1.63440630  1.65139752  0.3961878 -1.78412652 -1.1265126
5 1.844356 -0.08172358  2.06588464  0.8231720 -1.54670163  0.3318666
6 2.787830  1.93426540  2.81333840  0.7773958 -3.28025060 -1.9622388
     value.9   value.10   value.11  value.12   value.13    value.14
1 -0.8549273 -1.9128494 -2.5726444 -3.725500 -2.1484353 -0.03361206
2 -0.1969592 -2.3466926 -0.7740782 -3.461775 -3.5646776 -0.40566694
3 -2.5968079 -0.9892234 -1.1700941 -2.774526 -1.1286006  1.72282400
4 -1.6126458  0.6911760 -0.8643106 -3.196172 -1.4797098  1.27905308
5 -2.9984740  1.0362673 -0.9700335 -3.074641 -0.4259591  1.50068058
6 -1.4823824  0.9484215 -1.3520605 -2.371366 -1.2415273  0.76093456
    value.15   value.16  value.17    value.18   value.19   value.20
1 -1.8770490 -2.7516338 -3.286598 -1.06203976 -0.4740878 -2.3734516
2 -0.6799441 -2.5654820 -4.190713  0.00225218  0.1610651 -2.6067860
3  1.3765581 -1.5721360 -1.416721  1.60484388  1.5366693  0.8138367
4  2.4633468 -0.6035304 -1.123729  1.43181476  2.1561994  0.6206483
5  1.1837472 -2.5834447 -2.426380 -0.82940374 -0.1476383 -0.5779011
6  2.5985648 -1.5645513 -3.728205  0.59414952  0.9413817 -0.8333557
    value.21  value.22  value.23  value.24 value.25   value.26   value.27
1 -0.6853584  1.849019  3.953445  5.590909 2.723299 -2.6182804 -3.8690666
2 -1.4994937  1.784485  2.419897  5.084390 1.324254 -6.4218750 -5.8454046
3  0.1668152  4.438832  5.177569 10.383056 8.266289 -0.6428960  0.5663092
4  0.8104309  3.001927  5.123970  8.680744 5.512865 -0.9854499 -4.1610670
5 -1.9682714 -1.692854 -1.048127  6.790622 5.636051 -0.2069056  0.4477197
6 -1.1339352 -1.357287  2.754686  7.532309 5.802012  1.7407745 -2.1390346
    value.28   value.29  value.30  value.31  value.32   value.33  value.34
1 -1.8171379 -0.2383801 -1.624216 -4.020267 -9.425918  -9.337044 -8.148736
2 -2.6761752 -1.8380918 -2.662908 -6.748132 -9.989245 -10.210981 -8.277543
3  1.9450149  2.1383375  2.929998 -2.589037 -7.907762  -7.867462 -6.081466
4  0.4191879  1.2782512  1.883469 -4.019071 -8.446374  -7.556438 -5.643897
5  1.4885026  1.1493104  1.559550 -3.723119 -6.555097  -7.410677 -5.213345
6  1.8558870  2.7625554  3.502428 -2.452246 -4.741951  -3.522885 -1.605532
    value.35   value.36   value.37   value.38   value.39   value.40
1  -9.346954 -10.716282 -10.276734  -9.432706  -9.167833  -8.100433
2 -11.372970 -10.076708 -11.977748 -10.122959 -11.777400  -8.711346
3  -9.356433 -11.137325 -12.585742 -11.480466 -11.620868 -10.166828
4  -7.577705 -11.621401 -11.661146 -12.203332 -12.291080 -10.019409
5  -9.063214 -11.122525 -13.112678 -11.821600 -12.241514 -13.113000
6  -2.794482  -6.652242  -6.815498  -7.989619  -8.309580  -5.957148
    value.41   value.42   value.43   value.44   value.45   value.46
1  -7.966888  -9.372070  -6.766884  -3.741432  -7.114272 -12.474926
2 -11.186584 -10.327722  -8.758178  -6.737978  -9.396002 -11.648142
3 -12.339812 -14.248570 -11.941942  -8.053010 -12.301272 -16.652444
4 -11.122702 -13.880626  -9.713423  -9.455841 -10.593926 -14.447150
5 -15.243192 -16.547436 -15.537534 -10.530953 -13.315684 -15.776982
6  -7.283215  -9.160451  -5.985533  -5.895020  -5.108330  -8.321269
    value.47   value.48   value.49  value.50  value.51   value.52
1 -13.817684 -15.711532 -10.142309 -11.74451 -13.15383 -14.872548
2 -15.954562 -14.828780 -12.308018 -12.01656 -15.53538 -16.730518
3 -17.937564 -16.979322 -14.915682 -15.60719 -13.41077 -17.299080
4 -13.871522 -13.329192 -11.319212 -10.83332 -11.63636 -14.493164
5 -16.688462 -16.705808 -15.466620 -15.53270 -10.16532 -14.567330
6  -7.425714  -6.284681  -5.137081  -4.42446  -3.21544  -6.506553
    value.53   value.54   value.55   value.56   value.57   value.58
1 -15.021524 -12.477028 -13.895214 -13.485986 -11.336758 -12.301046
2 -16.682534 -13.605562 -14.337934 -13.909754 -14.207624 -13.664496
3 -14.318568 -14.928766 -15.001966 -16.128166 -13.705782 -14.290724
4 -13.128240 -10.821440 -10.470508 -10.977070 -10.540644 -10.147554
5 -12.714844 -11.656268 -11.071652 -12.562792 -12.497106 -12.868318
6  -5.173615  -2.108494  -1.684439  -3.973362  -4.315637  -3.556963
    value.59    value.60  value.61   value.62  value.63   value.64
1 -10.211424  -9.3199246 -11.58699 -13.605860 -12.71090 -11.767158
2 -12.052495 -10.7351656 -13.94126 -14.451856 -14.90064 -14.052704
3 -12.964292 -10.8632540 -14.12970 -16.641168 -14.10082 -13.836214
4  -8.625842  -5.4754962 -10.08696 -12.874730 -11.25396 -10.827104
5 -12.756150  -9.6768420 -12.00462 -15.184882 -13.92649 -15.654486
6  -2.476967   0.4899707  -3.79528  -6.289172  -4.93821  -5.473591
    value.65   value.66   value.67   value.68   value.69  value.70
1 -11.035398  -9.547123  -9.871070  -9.555892  -9.463809 -12.13518
2 -14.946750 -13.757724  -9.822580 -11.334115 -12.780026 -13.45923
3 -13.643042 -10.829646 -13.272332 -14.565634 -13.189710 -15.33080
4 -10.696224  -8.798463  -9.512163  -9.744509 -10.924178 -12.03329
5 -13.338116 -10.976230 -13.592098 -16.866414 -15.264850 -18.43836
6  -5.398287  -3.720513  -4.851563  -6.060661  -7.947564  -8.67331
    value.71  value.72  value.73  value.74  value.75  value.76  value.77
1 -10.243124 -13.23524 -16.93180 -20.69199 -24.94481 -29.07222 -30.68195
2 -15.025588 -15.60346 -21.30873 -24.85220 -29.59182 -34.58629 -38.08718
3 -12.891878 -16.81403 -15.88686 -19.98093 -20.42767 -21.51940 -22.91693
4 -12.111522 -14.06842 -15.66449 -18.79317 -18.55060 -21.59982 -22.16122
5 -16.446070 -18.94528 -18.59679 -21.59493 -20.69777 -21.91110 -21.16380
6  -9.326288 -10.00660 -11.94689 -13.44402 -11.61157 -14.90788 -13.64810
   value.78  value.79  value.80  value.81  value.82  value.83  value.84
1 -33.00923 -34.61194 -36.29038 -35.33729 -35.62123 -37.75376 -40.56393
2 -38.76102 -39.88267 -43.43890 -42.10508 -44.05012 -46.50652 -47.89790
3 -23.67472 -24.32587 -22.90633 -19.73706 -18.48813 -19.25376 -20.49425
4 -21.12877 -22.23903 -21.69878 -19.70055 -19.31095 -20.35570 -20.82947
5 -22.50361 -23.45121 -21.78829 -19.40065 -18.06839 -18.02228 -18.91203
6 -12.63916 -14.20617 -14.02608 -13.91150 -11.91515 -11.94335 -13.67263
   value.85  value.86
1 -44.67135 -34.21896
2 -51.00604 -38.39897
3 -22.86217 -17.73022
4 -25.31616 -19.93672
5 -19.65202 -15.05815
6 -15.87505 -12.32591
down2 <- downsample(ERPdata,2:427,
                    window = 50)  
head(down2) # for example : 426/50=8...26 so we have 9 column of signal data.
  Channel Experiment Condition Subject      AveRT IQ      value.1
1     Fp1       Exp1   nonword   subj1 0.01340599 65 -0.007669898
2     Fp2       Exp1   nonword   subj1 0.01340599 65  0.042764225
3      F3       Exp1   nonword   subj1 0.01340599 65 -0.073859081
4      F4       Exp1   nonword   subj1 0.01340599 65 -0.050194450
5      C3       Exp1   nonword   subj1 0.01340599 65 -0.098474598
6      C4       Exp1   nonword   subj1 0.01340599 65 -0.046727787
      value.2    value.3   value.4    value.5   value.6    value.7
1 -2.03050522  0.3264233 -8.797291  -9.885251 -12.60753 -11.127938
2 -1.80858047 -1.0330922 -9.926503 -11.316253 -14.14615 -13.344688
3 -0.10073455  3.5369324 -9.079339 -14.097681 -14.29114 -13.953907
4  0.06836108  2.1564329 -9.103985 -11.856691 -10.63163 -10.675158
5 -0.83509743  1.2155598 -9.337677 -15.134537 -12.05366 -14.524654
6 -0.61960351  2.1320395 -5.084118  -6.502575  -3.25215  -5.714815
    value.8   value.9
1 -24.97127 -38.61372
2 -30.11379 -46.00874
3 -20.13446 -20.07335
4 -18.80158 -21.05772
5 -20.70989 -18.66673
6 -12.57628 -13.41978