jasp-stats / jasp-issues

This repository is solely meant for reporting of bugs, feature requests and other issues in JASP.
56 stars 29 forks source link

[Bug]: Error in diag(scales) %*% truevar: non-conformable arguments #2294

Open saggnev opened 10 months ago

saggnev commented 10 months ago

JASP Version

0.18.0

Commit ID

No response

JASP Module

Factor

What analysis are you seeing the problem on?

Confirmatory factor analysis

What OS are you seeing the problem on?

Windows 10

Bug Description

When I check Reliability (under Additional Output) the right panel is grayed-out and the attached is displayed. image_2023-09-19_135424920

Expected Behaviour

Not sure because this was the first time I tried it. But, I assume that it should show one or more measures of construct reliability.

Steps to Reproduce

  1. Open a CSV file with multiple columns associated with 2 or more scales.
  2. Select Confirmatory Factor Analysis.
  3. Select the columns into the factors.
  4. Click on Additional Output and check Reliability.

Log (if any)

No response

Final Checklist

juliuspfadt commented 10 months ago

@saggnevm thanks for reporting this bug. I suspect the issue is within the semTools package. Unfortunately, without the data file and the model syntax, I cannot find out what is going wrong. Any chance you could share that?

saggnev commented 10 months ago

The data file is attached. Here's the syntax (the problem occurs when reliability = TRUE):

jaspFactor::confirmatoryFactorAnalysis(

version = "0.18",

ave = TRUE,

factors = list(list(indicators = list("I am willing to select a challenging work assignment that I can learn a lot from.", "For me, development of my work ability is important enough to take risks.", "I often look for opportunities to develop new skills and knowledge.", "I enjoy challenging and difficult tasks at work where I'll learn new skills."), name = "Factor1", title = "Factor 1"), list(indicators = list("I like to show that I can perform better than my coworkers.", "I like to work on projects where I can prove my ability to others.", "I try to figure out what it takes to prove my ability to others at work.", "I enjoy when others at work are aware of how well I am doing."), name = "Factor2", title = "Factor 2"), list(indicators = list("At work, avoiding a show of low ability is more important to me than learning a new skill.", "I would avoid taking on a new task if there was a chance that I would appear rather incompetent to others.", "I prefer to avoid situations at work where I might perform poorly.", "I'm concerned about taking on a task at work if my performance would reveal that I had low ability."), name = "Factor3", title = "Factor 3")),

htmt = TRUE,

naAction = "pairwise",

packageMimiced = "Mplus",

reliability = TRUE)

On Wed, Sep 20, 2023 at 2:30 AM Julius Pfadt @.***> wrote:

@saggnevm thanks for reporting this bug. I suspect the issue is within the semTools package. Unfortunately, without the data file and the model syntax, I cannot find out what is going wrong. Any chance you could share that?

— Reply to this email directly, view it on GitHub https://github.com/jasp-stats/jasp-issues/issues/2294#issuecomment-1727050277, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV7J2LB47SJN3JHKPNVNBDDX3KEQDANCNFSM6AAAAAA46XKSKY . You are receiving this because you authored the thread.Message ID: @.***>

juliuspfadt commented 10 months ago

ah well, I was imprecise about the requirements. So what I need is a screenshot of how you specify the factors. And you probably tried attaching the data to an email. That does not work. You have to upload to the GitHub website where you made the issue.

saggnev commented 10 months ago

Construct validity.csv Factors

juliuspfadt commented 10 months ago

Thanks :) so this is an issue in the r-package semTools, which we use to compute the reliability. I have made an issue at their GitHub site https://github.com/simsem/semTools/issues/130. Let's see how that works out. For the time being I can only advise you to treat your variables as quasi-continuous. That means, you may change the scale of these in JASP to "scale" and the analysis should run smoothly.

juliuspfadt commented 10 months ago

Once the new semTools version is on CRAN this issue will be fixed.

saggnev commented 10 months ago

Thank you.

On Thu, Sep 21, 2023 at 3:46 AM Julius Pfadt @.***> wrote:

Once the new semTools version is on CRAN this issue will be fixed.

— Reply to this email directly, view it on GitHub https://github.com/jasp-stats/jasp-issues/issues/2294#issuecomment-1729033262, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV7J2LAE2WONR2PGQRRXVB3X3PWE3ANCNFSM6AAAAAA46XKSKY . You are receiving this because you authored the thread.Message ID: @.***>

saggnev commented 10 months ago

Can you tell me where I can change the scale to "scale"?

On Thu, Sep 21, 2023 at 3:23 AM Julius Pfadt @.***> wrote:

Thanks :) so this is an issue in the r-package semTools, which we use to compute the reliability. I have made an issue at their GitHub site simsem/semTools#130 https://github.com/simsem/semTools/issues/130. Let's see how that works out. For the time being I can only advise you to treat your variables as quasi-continuous. That means, you may change the scale of these in JASP to "scale" and the analysis should run smoothly.

— Reply to this email directly, view it on GitHub https://github.com/jasp-stats/jasp-issues/issues/2294#issuecomment-1729000671, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV7J2LDXOOHTTXRLECOBH33X3PTPRANCNFSM6AAAAAA46XKSKY . You are receiving this because you authored the thread.Message ID: @.***>

juliuspfadt commented 10 months ago

see https://jasp-stats.org/getting-started/ "change variable types"

saggnev commented 9 months ago

Got it.

On Fri, Sep 22, 2023 at 2:15 AM Julius Pfadt @.***> wrote:

see https://jasp-stats.org/getting-started/ "change variable types"

— Reply to this email directly, view it on GitHub https://github.com/jasp-stats/jasp-issues/issues/2294#issuecomment-1730859251, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV7J2LABL4YVNHL2KECQMUTX3UUI5ANCNFSM6AAAAAA46XKSKY . You are receiving this because you authored the thread.Message ID: @.***>

tomtomme commented 5 months ago

@saggnev Can you re-test this with jasp 0.19 once that is released? Thx!

SoLarStud commented 1 month ago

Same problem, sorry, this is my first time on GitHUb so I don't know if I'm doing my request properly. I'm on Windows 10, Jasp 0.18.3

Error Message : This analysis terminated unexpectedly. Error in diag(scales) %*% truevar: non-conformable arguments Stack trace tryCatchOne(expr, names, parentenv, handlers[[1]]) doTryCatch(return(expr), name, parentenv, handler) withCallingHandlers(expr = analysis(jaspResults = jaspResults, dataset = dataset, options = options), error = .addStackTrace) analysis(jaspResults = jaspResults, dataset = dataset, options = options) .cfaTableReliability(jaspResults, options, cfaResult) semTools::compRelSEM(cfaResult[['lav']], return.total = TRUE) omegaCat(truevar = commonCov, denom = totalCov, threshold = threshold[[b]][myIndNames], scales = latScales[[b]][myIndNames])

Changing the variable type from ordinal to scale, as suggested above, makes the calculation of alphas and omegas work, but it changes all the fit indexes, so I don't think that really fixes the problem. I can't do my CFA properly and get the reliabilities :-(

tomtomme commented 1 month ago

This is probably fixed in the upcoming version 0.19. if you need this now you can test it via a nightly build https://static.jasp-stats.org/Nightlies/

SoLarStud commented 1 month ago

Thank you so much for your answer. Seems like a Christmas present to me. Cant's try it right now, but I'll try it this week and will let you know. Many thanks.

juliuspfadt commented 3 weeks ago

It is not fixed, because semTools has not yet updated on CRAN.