# triangle: Create triangle binomial family In sensR: Thurstonian Models for Sensory Discrimination

## Description

Creates a copy of the binomial family with the inverse link function changed to equal the triangle psychometric function and correspondingly changed link function and derivative of the inverse link function.

## Usage

 `1` ```triangle() ```

## 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.

`duotrio`, `twoAFC`, `tetrad`, `threeAFC`, `discrim`, `discrimPwr`, `discrimSim`, `AnotA`, `discrimSS`, `samediff`, `findcr`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28``` ```## Estimating d-prime using glm for a Triangle test: xt <- matrix(c(10, 5), ncol = 2) ## data: 10 correct answers, 5 incorrect res <- glm(xt ~ 1, family = triangle) summary(res) ## Equivalent to (Estimate and Std. Error): discrim(10, 15, method="triangle") ## Extended example plotting the profile likelihood ## data: 10 correct answers, 9 incorrect xt <- matrix(c(10, 9), ncol = 2) summary(res <- glm(xt ~ 1, family = triangle)) N <- 100 dev <- double(N) delta <- seq(1e-4, 3, length = N) for(i in 1:N) dev[i] <- glm(xt ~ -1 + offset(delta[i]), family = triangle)\$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: level <- c(0.95, 0.99) lim <- sapply(level, function(x) exp(-qchisq(x, df=1)/2) ) abline(h = lim, col = "grey") ```