set.seed(53)

## generate some faked up dependent variables
nTrials <- 100
nSubjects <- 100
trials <- 1:nTrials
trial <- rep(trials, nSubjects)

## 100 subjects
subjects <- 1:nSubjects
subject <- rep(subjects, rep(nTrials, nSubjects))

## each with an iq score
iqs <- rnorm(nSubjects, mean=100, sd=15)
iq <- rep(iqs, rep(nTrials, nSubjects))

## and with a random baseline
baselines.rand <- as.numeric(scale(rnorm(nSubjects, mean=0, sd=20), scale=F))
baseline.rand <- rep(baselines.rand, rep(nTrials, nSubjects))

## each subject participates in both conditions
conditions <- c(0,1)
condition <- rep(conditions, nTrials * nSubjects / 2)

## and some random noise
noise <- rnorm(nTrials * nSubjects, mean=0, sd=5)

## independent variables are a function of the dependent variables
log.RT.1 <-
  ## speed up over trials
  -.5 * log(trial) +
  ## higher IQ is faster
  -.5 * iq +
  ## second condition is slower
  10 * condition + 
  ## baseline for each subject
  baseline.rand +
  ## random noise
  noise

## put it together into data frame
d <- data.frame(subject, trial, iq, condition,
                log.RT.1,               # log.RT.2,
                baseline.rand,          # baseline.corr,
                noise) 

library(lme4)
lm.1 <- lm(log.RT.1 ~
           iq + condition + log(trial),
           data = d)

lmer.1 <- lmer(log.RT.1 ~
               iq + condition + log(trial) + (1 | subject),
               data = d)
