# NOT RUN {
#############################################################################
# EXAMPLE 1: Bradley-Terry model | data.pw01
#############################################################################
data(data.pw01)
dat <- data.pw01
dat <- dat[, c("home_team", "away_team", "result") ]
# recode results according to needed input
dat$result[ dat$result==0 ] <- 1/2 # code for ties
dat$result[ dat$result==2 ] <- 0 # code for victory of away team
#********************
# Model 1: Estimation with ties and home advantage
mod1 <- sirt::btm( dat)
summary(mod1)
# }
# NOT RUN {
#********************
# Model 2: Estimation with ties, no epsilon adjustment
mod2 <- sirt::btm( dat, eps=0, fix.eta=0)
summary(mod2)
#********************
# Model 3: Some fixed abilities
fix.theta <- c("Anhalt Dessau"=-1 )
mod3 <- sirt::btm( dat, eps=0, fix.theta=fix.theta)
summary(mod3)
#********************
# Model 4: Ignoring ties, no home advantage effect
mod4 <- sirt::btm( dat, ignore.ties=TRUE, fix.eta=0)
summary(mod4)
#********************
# Model 5: Ignoring ties, no home advantage effect (JML approach -> eps=0)
mod5 <- sirt::btm( dat, ignore.ties=TRUE, fix.eta=0, eps=0)
summary(mod5)
#############################################################################
# EXAMPLE 2: Venice chess data
#############################################################################
# See http://www.rasch.org/rmt/rmt113o.htm
# Linacre, J. M. (1997). Paired Comparisons with Standard Rasch Software.
# Rasch Measurement Transactions, 11:3, 584-585.
# dataset with chess games -> "D" denotes a draw (tie)
chessdata <- scan( what="character")
1D.0..1...1....1.....1......D.......D........1.........1.......... Browne
0.1.D..0...1....1.....1......D.......1........D.........1......... Mariotti
.D0..0..1...D....D.....1......1.......1........1.........D........ Tatai
...1D1...D...D....1.....D......D.......D........1.........0....... Hort
......010D....D....D.....1......D.......1........1.........D...... Kavalek
..........00DDD.....D.....D......D.......1........D.........1..... Damjanovic
...............00D0DD......D......1.......1........1.........0.... Gligoric
.....................000D0DD.......D.......1........D.........1... Radulov
............................DD0DDD0D........0........0.........1.. Bobotsov
....................................D00D00001.........1.........1. Cosulich
.............................................0D000D0D10..........1 Westerinen
.......................................................00D1D010000 Zichichi
L <- length(chessdata) / 2
games <- matrix( chessdata, nrow=L, ncol=2, byrow=TRUE )
G <- nchar(games[1,1])
# create matrix with results
results <- matrix( NA, nrow=G, ncol=3 )
for (gg in 1:G){
games.gg <- substring( games[,1], gg, gg )
ind.gg <- which( games.gg !="." )
results[gg, 1:2 ] <- games[ ind.gg, 2]
results[gg, 3 ] <- games.gg[ ind.gg[1] ]
}
results <- as.data.frame(results)
results[,3] <- paste(results[,3] )
results[ results[,3]=="D", 3] <- 1/2
results[,3] <- as.numeric( results[,3] )
# fit model ignoring draws
mod1 <- sirt::btm( results, ignore.ties=TRUE, fix.eta=0, eps=0 )
summary(mod1)
# fit model with draws
mod2 <- sirt::btm( results, fix.eta=0, eps=0 )
summary(mod2)
# }
Run the code above in your browser using DataLab