threeAFC {sensR} | R Documentation |
Create 3-AFC binomial family
Description
Creates a copy of the binomial family with the inverse link function changed to equal the 3-AFC psychometric function and correspondingly changed link function and derivative of the inverse link function.
Usage
threeAFC()
Value
A binomial family object for models. Among other things it inludes the psychometric function as
linkinv
and the inverse psychometric function (for direct dprime computation) as
linkfun
.
Note
Several functions in this package makes use of the function, but it may also be used on its own—see the example below.
Author(s)
Rune Haubo B Christensen and Per Bruun Brockhoff
References
Brockhoff, P.B. and Christensen, R.H.B. (2010). Thurstonian models for sensory discrimination tests as generalized linear models. Food Quality and Preference, 21, pp. 330-338.
See Also
triangle
, twoAFC
,
tetrad
, duotrio
, discrim
,
discrimPwr
, discrimSim
,
AnotA
, discrimSS
,
samediff
, findcr
Examples
## Estimating d-prime using glm for a 3-AFC test:
xt <- matrix(c(10, 5), ncol = 2) ## data: 10 correct answers, 5 incorrect
res <- glm(xt ~ 1, family = threeAFC)
summary(res)
## Equivalent to (Estimate and Std. Error):
discrim(10, 15, method="threeAFC")
## Extended example plotting the profile likelihood
## data: 10 correct answers, 5 incorrect
xt <- matrix(c(10, 2), ncol = 2)
summary(res <- glm(xt ~ 1, family = threeAFC))#, etastart = etastart))
N <- 100
dev <- double(N)
level <- c(0.95, 0.99)
delta <- seq(1e-4, 5, length = N)
for(i in 1:N)
dev[i] <- glm(xt ~ -1 + offset(delta[i]),
family = threeAFC)$deviance
plot(delta, exp(-dev/2), type = "l",
xlab = expression(delta),
ylab = "Normalized Profile Likelihood")
## Add Normal approximation:
lines(delta, exp(-(delta - coef(res))^2 /
(2 * vcov(res))), lty = 2)
## Add confidence limits:
lim <- sapply(level, function(x)
exp(-qchisq(x, df=1)/2) )
abline(h = lim, col = "grey")