Dear Adrian,
Having recently upgraded both my versions of R and the QCA package, I am encountering a number of errors, anomalies or slowdowns that prevent me from performing functions and analyses that I used to run easily and without problems before the upgrade.
I would be grateful if you could give me your opinion on the origin of these problems and help me to understand whether they are idiosyncratic to my data or possibly a result of the updates that have been made.
In particular, in the last few days I have experienced:
- A general slowdown in the execution of functions that involve more complex calculations, such as the intersection() or negate() functions, as well as the minimise() function to produce the intermediate solution.
- The
following error occurs when using the truthTable() function:
> TT_d <- truthTable(data = d, outcome = "POP", + conditions = c("TRUST", "HRSS", "AO","OO","MSO","PR"), # + incl.cut = 0.8, pri.cut = 0.55, n.cut = 2, sort.by = "OUT, incl, PRI", show.cases = TRUE, dcc=T) > TT_d
Error in `[<-.data.frame`(`*tmp*`, !missincl, "incl", value = c("0.808", :
missing values are not allowed in subscripted assignments of data frames
[After some checking I found that if I add the 'complete = TRUE' option this
error doesn't appear and the truthtable() function produces its output
normally.]
- The esa() function does not remove any of the contradictory simplifying assumptions, nor the untenable assumption with the dediacated options 'contrad_rows =' and 'nec_cond =' (but this may depend on the malfunctioning of the esa() function, which you have already pointed out in previous discussion).
- The theory.evaluation() function produces no output and gives the following error message:
> TE_Y <- theory.evaluation(theory = "TY",
+ empirics = eis,
+ outcome = "POP",
+ sol = 1,
+ print.fit = T)
Error in rbind(deparse.level, ...) : object 'xideclared' not found
I have made several attempts to find out what the problem is (uninstalled and reinstalled R and the QCA analysis packages, worked on different PCs, worked with different combinations of conditions and samples) without finding a solution.
I 'm working on the
following configuration:
> R.version _ platform x86_64-w64-mingw32 arch x86_64 os mingw32 crt ucrt system x86_64, mingw32 status major 4 minor 3.3 year 2024 month 02 day 29 svn rev 86002 language R version.string R version 4.3.3 (2024-02-29 ucrt) nickname Angel Food Cake > sessionInfo() R version 4.3.3 (2024-02-29 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19045)
...
other attached packages: [1] haven_2.5.4 SetMethods_4.0 stargazer_5.2.3 ggrepel_0.9.5 ggplot2_3.5.0 QCA_3.22 admisc_0.35
Unfortunately I am not able to share even part of the data I am working on, but if it would help I could send it to you privately.
I take the opportunity of this message to thank you for sharing your time and expertise with this community, which has helped my research on so many occasions.
Kind regards,
Stefano
--
You received this message because you are subscribed to the Google Groups "QCA with R" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qcawithr+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qcawithr/bd1bb422-287c-4bda-bdf2-c17fe9015f0bn%40googlegroups.com.
--
Dear Adrian,
Thank you for such a clear and comprehensive explanation.
While waiting for the SetMethods package to be updated, I will continue my analyses as suggested, using the alternatives offered by the QCA package. Regarding the latter, I still have a few questions that may be of interest to other users.
The 'modelfit()' function in the QCA package automatically calculates all possible intersections between the theoretical expectations and the solutions obtained by the minimization process (and/or their negations), and provides parameters of fit. It is then possible to calculate the percentage of cases in each intersection and distinguish them by their membership of the outcome (above or below 0.5) using the 'compute()' function.
If the QCA solution being evaluated contains logical reminders, researchers should identify them so that the empirical support for each intersection can be more accurately assessed, as pointed out by Schneider and Wagemann (2012: 304). I wonder if there is a way to automate their identification, as to my knowledge there is no specific command in either QCA or SetMethods that provides such a result.
Finally, I would like to give some feedback on my experience after updating the QCA package and R. After several tests (using only the QCA package), I noticed that the 'modelfit()' function's computation time increases significantly with solution complexity. More specifically, starting with solutions containing 4 terms, a warning appears informing that "the negation of such models is potentially computationally intensive". I wonder if this could be due to the updates, as before I used to run similar calculations in moderate time, whereas now in some cases they do not produce any output even after several hours.
Once again, thank you for all the valuable help you've provided!
Best,
Stefano
Dear Adrian,
Thank you for such a clear and comprehensive explanation.