knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  warning = FALSE,
  message = FALSE
)
library(minerva)

Construct a matrix of items

items <- mnrva_item_matrix(n_items = 48,
                           vec_length = 100)
mnrva_single_rvector <- function(vec_length = 100){
  if(vec_length %% 2 == 0) {
    return(sample(rep(c(1,-1), each = vec_length/2)))
  } else {
    warning("vec_length must be an even integer")
  }
}

mnrva_single_rvector(10)
replicate(2,mnrva_single_rvector(10))

mnrva_item_matrix <- function(n_items = 5,
                              vec_length = 10,
                              max_iteration = 5) {
  return(t(replicate(n_items, mnrva_single_rvector(vec_length))))
}

a <- mnrva_item_matrix(5,10)
b <- cor(t(a))
sum(b[lower.tri(b)] == 1)


temp_mat <- t(replicate(n_items, mnrva_single_rvector(vec_length)))

    while(mnrva_check_unique(temp_mat) == FALSE){
      temp_mat <- t(replicate(n_items, mnrva_single_rvector(vec_length)))
    }

max_iteration = 5
for(i in 1:max_iteration){
  temp_mat <- t(replicate(n_items, mnrva_single_rvector(vec_length)))
  if(mnrva_check_unique(temp_mat) == TRUE) break
  if(i == max_iteration && mnrva_check_unique(temp_mat) == FALSE) warning("Failed to find unique matrix")
}


CrumpLab/minerva documentation built on Oct. 30, 2019, 5:50 a.m.