Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > # load some personality data
- > library(psych)
- > data(bfi)
- > scales <- c("a1", "a2", "a3")
- > names(bfi) <- tolower(names(bfi))
- > bfi <- bfi[,scales]
- > bfi <- na.omit(bfi)
- > head(bfi)
- a1 a2 a3
- 61617 2 4 3
- 61618 2 4 5
- 61620 5 4 5
- 61621 4 4 6
- 61622 2 3 3
- 61623 6 6 5
- > # calculate overall mean
- > bfi$omean <- apply(bfi[,scales], 1, mean)
- > # calculate ipsative scores based regression residuals
- > bfi$res_a1 <- resid(lm(a1 ~ omean, bfi))
- > bfi$res_a2 <- resid(lm(a2 ~ omean, bfi))
- > bfi$res_a3 <- resid(lm(a3 ~ omean,bfi))
- > # calculate devaiation ipsative scores
- > bfi$dev_a1 <- bfi$a1 - bfi$omean
- > bfi$dev_a2 <- bfi$a2 - bfi$omean
- > bfi$dev_a3 <- bfi$a3 - bfi$omean
- > # check that both satisfy ipsatisation requirement
- > all(round(apply(bfi[,paste0("res_", scales)], 1, sum), 6) == 0)
- [1] TRUE
- > all(round(apply(bfi[,paste0("dev_", scales)], 1, sum), 6) == 0)
- [1] TRUE
- > # Examine similarities between approaches (see diagonal)
- > round(cor(bfi[paste0("res_", scales)], bfi[paste0("dev_", scales)]), 3)
- dev_a1 dev_a2 dev_a3
- res_a1 0.981 -0.729 -0.711
- res_a2 -0.716 0.999 0.065
- res_a3 -0.718 0.067 0.971
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement