wizirt

Welcome to beta testing my new wizirt package. Let me just start out by saying

!!!THANK YOU!!!

Wizirt is pretty simple right now, and it will be capable of more in the future. That will be partly determined by what I have committed to my committee to do (so what I found in the literature), and what you suggest I add.

As you review the package, pay close attention to what you feel is missing. At the bottom of this document I have a few criteria I would like you to consider. But first things first, let's install it.

To install it run:

devtools::install_github('Pflegermeister/wizirt2')

It will probably ask you to update some packages. Don't update them right now. Any issues you have with updating other packages are not actually related to wizirt. You can update them all easier from the rstudio packages tab if you want to do that at another time.

Once wizirt is installed, try this code:

data("responses") irt_summarize(responses[,-1], title = "A test file", author = 'Somebody Great')

If that ran, than congratulations, you installed the package and you are ready to use it. In fact, you just ran a function I designed for those who aren't comfortable in R. Please critique the generated interface.

Let's continue.

This is what you need to know about wizirt. There are two different ways to use wizirt. The first way is a function intended for R newbies: \code{irt_summarize}. You just ran this. I am looking for a better name for this function, so suggestions are welcome. This function allows a person to input their data and some other information, then behind the scenes it does a complete but basic IRT analysis, returning a report for the individual to look at.

It should be simple to use on your own data. Just input a data.frame where the rows are people, the columns are items, and the values are whether they got the item right (1) or wrong (0). This only works for dichotomous items right now.

Give it a try on your own data if you have time! If you are just here for the beginner function, then you are done. Thank you!

The more advanced API is what I am really proud of. It combines other IRT packages behind the scenes following the example of the parsnip package.

Here is how you use it:

modirt <- irt(item_type = "Rasch") %>% set_engine("mirt") %>% fit_wizirt(data = responses[,-1])

Right now the item_type can be "Rasch" or "2PL" and the engine can be "mirt" or "ltm".

This code will return a list object. You will most likely be interested in modirt$fit. There is a good amount of information in here. However, it can be difficult to access. So there are print and plot methods that work. Unfortunately, I am struggling to get these to export properly, so for now you have to call them using

wizirt2:::plot.irt(modirt) wizirt2:::print.irt(modirt)

The wizirt2::: won't be there in the future, sorry you have to live with it now. Check ?wizirt2:::plot.irt for more information on how to use it.

You can get item-level statistics using:

ifa <- irt_item_level(my_model)

and person-level information with this:

pfa <- irt_person_fit(my_model)

The output is also lists. You can access the information using ifa$... and pfa$... . These also have plot and print methods, but they share the same current limitations as print.irt and plot.irt.

wizirt2:::plot.pfa(pfa) wizirt2:::print.pfa(pfa)

wizirt2:::plot.ifa(ifa) wizirt2:::print.ifa(ifa)

Question marks in front of these commands will pull up their arguments as well. Give it a try! Tell me what you think is missing. This is in its super beta version right now. I don't know if it is even in beta, that's how beta it is. It's alpha.

Criteria for review

Please pay special attention to these four things as you use the package.



Pflegermeister/wizirt2 documentation built on Oct. 23, 2020, 1:29 a.m.