Nothing
"circ.tests" <-
function(loads,loading=TRUE,sorting=TRUE) {
cl <- match.call()
circ.gap <- function(loads,loading=TRUE,sorting=TRUE) {
if (loading) {l <- loads$loadings} else {
l <- loads}
l<- l[,1:2]
commun=rowSums(l*l)
theta=sign(l[,2])*acos(l[,1]/sqrt(commun)) #vector angle in radians
if(sorting) {theta<- sort(theta)}
gaps <- diff(theta)
test <- var(gaps)
return(test)
}
circ.fisher <- function(loads,loading=TRUE) {
if (loading) {l <- loads$loadings} else {
l <- loads}
l<- l[,1:2]
radius <- sqrt(rowSums(l^2)) #added sqrt 6/15/19
test <- sd(radius)/mean(radius)
return (test)
}
circ.rt <- function(loads,loading=TRUE) {
if (loading) {l <- loads$loadings} else {
l <- loads}
l<- l[,1:2]
qmc <- rep(0,10)
for (i in 0:9) {theta <- 5*i
rl <- factor.rotate(l,theta,1,2)
l2 <- rl*rl
qmc[i] <- sum(apply(l2,1,var)) }
test <- sd(qmc)/mean(qmc)
}
circ.v2 <- function(loads,loading=TRUE) {
if (loading) {l <- loads$loadings} else {
l <- loads}
l<- l[,1:2]
crit <- rep(0,10)
for (i in 0:9) {
theta <- 5*i
rl <- factor.rotate(l,theta,1,2)
l2 <- rl*rl
suml2 <- sum(l2)
crit[i] <- var(l2[,1]/suml2)
}
test <- sd(crit)/mean(crit)
return (test)
}
gap.test <- circ.gap(loads,loading,sorting)
fisher.test <- circ.fisher(loads,loading)
rotation.test <- circ.rt(loads,loading)
variance.test <- circ.v2(loads,loading)
circ.tests <- list(gaps=gap.test,fisher=fisher.test,RT=rotation.test,VT=variance.test,Call=cl)
class(circ.tests) <- c("psych","circ")
return(circ.tests)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.