Sign in

Magnus Johansson

@pgmj.bsky.social
2.6K followers 1.6K following 488 posts

PhD & lic. psychologist. Research specialist at Karolinska Institutet @ki.se . R packages for Rasch psychometrics: pgmj.github.io/easyRasch2 (also for jamovi) and easyRaschBayes. #openscience, #psychometrics, #rstats, #photo

PostsRepliesMedia
Magnus Johansson @pgmj.bsky.social · 23/09/2026
Version 3.2.2 of my jamovi module for #Rasch #psychometrics is now available. It brings conditional reliability, a Reliable Change Index with exact critical values, and a new targeting figure. The module uses #rstats pkg easyRasch2 v1.3.1 and produces identical results. pgmj.github.io/easyRasch2/
0111
Magnus Johansson @pgmj.bsky.social · 20/09/2026
Makina 67 (orange filter) Rollei RPX400@800
Black and white photo of a sunlit oak tree.
050
Magnus Johansson @pgmj.bsky.social · 16/09/2026
Screenshot text from www.sciencedirect.com/journal/clin...
100
Magnus Johansson @pgmj.bsky.social · 10/08/2026
Helpful cat also likes the vertical mouse.
Cat curled up on desktop around mouse.
010
Magnus Johansson @pgmj.bsky.social · 16/07/2026
020
Magnus Johansson @pgmj.bsky.social · 03/07/2026
Yes, the handwaving is problematic, especially for single-item analysis (of any ordinal scale). And when you find a scale (DERS) with these response distributions, it raises a lot of questions. My initial example post was also from this scale.
210
Magnus Johansson @pgmj.bsky.social · 02/07/2026
Another example of how useful {geomtextpath} can be, imho. This is from the item category probability plot in my {easyRasch2} package. Most psychometric papers within the factor analytic tradition seem to disregard evaluating how the response scale works, which I find difficult to understand.
6629
Magnus Johansson @pgmj.bsky.social · 15/06/2026
To make it more accessible to use up-to-date psychometric methods, I have made a module for www.jamovi.org, which has a nice point-and-click user interface. 'easyRasch2jmv' can be installed from within jamovi. The updated module added helpful text output together with the analysis output.
130
Magnus Johansson @pgmj.bsky.social · 15/06/2026
We really need a collective effort to leave rule-of-thumb cutoffs and incorrect methods behind us. I think a key aspect is to treat older psychometric validations with skepticism, both in paper intros and method sections. "Inaugural" papers are particularly important to scrutinize.
Presentation slide with text:
A call to action
We need to collectively move the norms regarding cutoffs and methods
Please spread the word
Use this information when reviewing and writing papers
In your paper intros, mention limitations for old papers using old methods and/or fixed cutoffs.
Don’t assume that published papers are correct - most are likely to have errors of various severity
Editors could have a brief guideline/checklist for authors
110
Magnus Johansson @pgmj.bsky.social · 11/05/2026
New Jamovi module functionality to determine appropriate model fit cutoffs for confirmatory factor analysis now available in easyRasch2jmv v0.4.0. Install/update from Jamovi Library within the app. #rstats #psychometrics #stats #openscience
2130
Magnus Johansson @pgmj.bsky.social · 29/04/2026
New family member today.
Whitish ragdoll kitten. Whitish ragdoll kitten.
1161
Magnus Johansson @pgmj.bsky.social · 23/04/2026
You can also get traceplots for item category probabilities and targeting (person-item Wright map), and conditional item characteristic curves.
110
Magnus Johansson @pgmj.bsky.social · 23/04/2026
I've made an R package for Bayesian Rasch #psychometrics with brms models, easyRaschBayes (on CRAN), implementing simple functions to create figures and tables with model fit metrics, etc. Attaching figures from conditional item infit, item-restscore with GK gamma, and the log-likelihood criterion.
24616
Magnus Johansson @pgmj.bsky.social · 08/01/2026
I like them, but in this format (from smped.github.io/SimpleUpset/... )
140
Magnus Johansson @pgmj.bsky.social · 02/12/2025
geomtextpath can really help make a plot easier to interpret. Nice to avoid using a legend. #rstats #dataviz
Two plots side by side showing time in weeks on x axis and probability of returning to work on the y axis. The left hand plot shows the trajectory of two groups (self-efficacy improved or not improved), while the right hand plot shows the probability difference between the two groups.
314019
Magnus Johansson @pgmj.bsky.social · 21/11/2025
More tinkering with relative measurement uncertainty proposed by @bignardi.bsky.social et al, using plausible values to estimate conditional reliability (inspired by @dmcneish.bsky.social) for Rasch models with WL estimation of latent scores. Code here: github.com/pgmj/easyRas...
061
Magnus Johansson @pgmj.bsky.social · 24/10/2025
I've done some more work on the relative measurement uncertainty, comparing `brms` posterior draws to "plausible values" in Rasch models, and some other reliability metrics. Estimating RMU from draws adds some variation, as shown in the figure. pgmj.github.io/reliability.... #rstats #psychometrics
040
Magnus Johansson @pgmj.bsky.social · 10/10/2025
The RelRep.R function "just works" with a dataframe with items as columns and produces pretty neat output for alpha or omega. Point estimate and CI for alpha is almost identical to RMU for my example with `eRm::raschdat1[,1:20]` data. github.com/melissagwolf...
100
Magnus Johansson @pgmj.bsky.social · 22/09/2025
For instance, yesterday I read a paper with a table describing participants' sickness absence days with a mean of 71 and SD = 88. Generating a random (gaussian) sample using these values produces ~20% participants with less than zero sick days.
A histogram with 10000 values using the mean+sd in the text, showing zero with a red line.
231
Magnus Johansson @pgmj.bsky.social · 15/08/2025
Grateful to have this view a few minutes walk from home.
010
Magnus Johansson @pgmj.bsky.social · 07/08/2025
Inspired by a paper (linked) that added a response category to the PHQ-2 and GAD-2 screener questionnaires we did the same in Swedish with good results in a sample of 15-18 year olds. The uppermost categories performed worse, though (q25-26=GAD,27-28=PHQ). #psychometrics osf.io/preprints/ps...
120
Magnus Johansson @pgmj.bsky.social · 04/08/2025
Reading the preface to "Thinking through statistics" and this section already made me like the book.
081
Magnus Johansson @pgmj.bsky.social · 29/07/2025
Might be the perfect guitar string gauge? Seems ridiculous, but .005 inches thinner than the .011 I've used forever on my solid body seems really nice.
120
Magnus Johansson @pgmj.bsky.social · 19/07/2025
020
Magnus Johansson @pgmj.bsky.social · 22/05/2025
...since it needs revising (ongoing) to incorporate correct information about critical values for GOF metrics: osf.io/preprints/os... We basically use the 4 criteria as presented by Kreiner (2007), who refers to Rosenbaum (1989).
120
Magnus Johansson @pgmj.bsky.social · 29/04/2025
Really looking forward to this. It's been six years since his last book.
040
Magnus Johansson @pgmj.bsky.social · 12/03/2025
Great to see conditional reliability and the "targeting" of test/sample discussed. I've incorporated a similar approach in a TIF curve figure in the `easyRasch` R package. Note that IRT/Rasch also provides information about the reliability of the test/questionnaire itself, independent of the sample.
000
Magnus Johansson @pgmj.bsky.social · 15/01/2025
Such style and grace. Have one of those too
110
Magnus Johansson @pgmj.bsky.social · 11/01/2025
Made with a Makina 67 a few years ago. Rollei Retro 400S overexposed a step and developed in Adox Silvermax 1+19. #filmphotography #blackandwhite #believeinfilm
1150
Magnus Johansson @pgmj.bsky.social · 28/12/2024
Sunset at 13.30 has some benefits.
1100
Magnus Johansson @pgmj.bsky.social · 25/12/2024
Stunning clouds, which my old phone struggles to reproduce.
0110
Magnus Johansson @pgmj.bsky.social · 16/11/2024
080
Magnus Johansson @pgmj.bsky.social · 26/10/2024
312022
Magnus Johansson @pgmj.bsky.social · 07/10/2024
030
Magnus Johansson @pgmj.bsky.social · 21/09/2024
Colors and sunlight this time of year is just so nice.
140
Magnus Johansson @pgmj.bsky.social · 04/09/2024
The TAM author does not seem very enthusiastic about that setting though
100
Magnus Johansson @pgmj.bsky.social · 04/09/2024
I also added multicore processing and introduced a bug. Here are proper results, table and figure.
000
Magnus Johansson @pgmj.bsky.social · 04/09/2024
I added `pairwise` and reran the same 250 datasets (9 items, 4 thresholds each, using PCM with 720 well-targeted simulated responses for each iteration). PAIR seems to perform worst. Summary table of absolute deviations from input parameters.
310
Magnus Johansson @pgmj.bsky.social · 03/09/2024
I messed up earlier, assuming the output of tam.threshold() to be comparable to similar functions in other packages. But useful item thresholds were found in the tam() output object and I could rerun the simulation. Less bad for TAM, but still worse than eRm and mirt. #rasch #rstats #psychometrics
ggdist figure showing distribution of bias in estimation of item thresholds in a Rasch partial credit model, comparing three R packages, eRm, mirt, and TAM.
010
Magnus Johansson @pgmj.bsky.social · 16/08/2024
020
Magnus Johansson @pgmj.bsky.social · 21/07/2024
Berg ur arkivet. Utsikt från Ryfjället.
000
Magnus Johansson @pgmj.bsky.social · 06/07/2024
Happy #caturday !
050
Magnus Johansson @pgmj.bsky.social · 05/05/2024
Almost finished the first roll on my “new” 6x12 back today.
040
Magnus Johansson @pgmj.bsky.social · 26/04/2024
Trying conditional formatting with the R `tinytable` package by @vincentab.bsky.social and was happy to see that `cell_spec()` styling works well (in addition to everything in the tutorial). #rstats
140
Magnus Johansson @pgmj.bsky.social · 21/04/2024
Ser lite lovande ut från nästa söndag iaf.
110
Magnus Johansson @pgmj.bsky.social · 20/04/2024
First shot with the Horseman 6x12 roll film back on my Linhof Technikardan 45 S. Seems like a solid piece of work. Looking forward to do some panorama landscape work with longer focal lengths.
Large format 4x5” camera with 105mm lens, orange filter and a 6x12 roll film back.Large format 4x5” camera with 105mm lens, orange filter and a 6x12 roll film back.Large format 4x5” camera with 105mm lens, orange filter and a 6x12 roll film back.
020
Magnus Johansson @pgmj.bsky.social · 01/04/2024
I’m running a simulation study comparing two R packages for Rasch Partial Credit Model estimation. Across datasets with 3-5 response categories, TAM (Marginal ML) shows increasingly biased estimates for outer categories, while eRm (Conditional ML) is consistent. #psychometrics
393
Magnus Johansson @pgmj.bsky.social · 10/03/2024
Not much light or color today. But a nice tree by the lake.
0101
Magnus Johansson @pgmj.bsky.social · 07/03/2024
On this day a year ago. Haven’t seen much if any snow at all for several weeks now.
010
Magnus Johansson @pgmj.bsky.social · 14/02/2024
Randomly occurring temporary weight increase…
000