I'm in SPSS Statistics, V 25 running on an i7 with 64-bit and 10gb. Total available space is about 400gb. I'm working in matrix format and received Error Message #4 Attempt to free unallocated memory. If I continue the syntax computing scalars, there's no error,
but if I attempt to calculate any matrix or vector, I receive the error message. Does SPSS have a limit on the number of matrices/vectors in syntax?
Thanks.
Brian
|
I believe there should be some limit on the NUMBER OF variables
(matrices) in MATRIX. I don't want to find out what is the limit
though because it seems weird to me to create and work with many
thousands of matrices at once.
This try define !macro() matrix. !do !i= 1 !to 10000 comp !conc('v',!i)= 1. !doend end matrix. !enddefine. set miterate 1E9. !macro. went smoothly, i.e. at least 10000 variable names are possible to keep in MATRIX simultaneously. Maybe more - I don't care. Don't forget to use DISPLAY DICTIONARY/STATUS in case, and use RELEASE to get rid of waste matrices. 28.11.2019 18:54, Dates, Brian пишет:
===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD |
I want to circle around and provide my solution in case anyone else in the group followed this thread. I followed Kirill's lead, and set miterate at 1e9. I did the same for mxloops. I think the key, however, was to release vectors and matrices non longer needed
after each section of my syntax. That leads me to speculate, as did Kirill, that there is a maximum number of vectors and matrices that SPSS can accommodate at any given time. I don't know what that is, but I'm sure that the folks at SPSS know. It's certainly
not thousands.
Thanks to everyone for their assistance.
Brian
From: Kirill Orlov <[hidden email]>
Sent: Monday, December 2, 2019 7:00 AM To: Dates, Brian <[hidden email]>; [hidden email] <[hidden email]> Subject: Re: Error #4 - Fatal Error I believe there should be some limit on the NUMBER OF variables (matrices) in MATRIX. I don't want to find out what is the limit though because it seems weird to me to create and work with many thousands of matrices at
once.
=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD
This try define !macro() matrix. !do !i= 1 !to 10000 comp !conc('v',!i)= 1. !doend end matrix. !enddefine. set miterate 1E9. !macro. went smoothly, i.e. at least 10000 variable names are possible to keep in MATRIX simultaneously. Maybe more - I don't care. Don't forget to use DISPLAY DICTIONARY/STATUS in case, and use RELEASE to get rid of waste matrices. 28.11.2019 18:54, Dates, Brian пишет:
|
Brian, my personal opinion is that the potential limit on the number
of matrices, if it exists, is not much important. Because it is
unusual to create many thousands of names in MATRIX.
The summative size of matrices is what critically important. MATRIX is RAM-dependent. The more RAM you have the bigger is the overall number of elements you can keep in MATRIX. Windows 10 can use up to 32 Gb of RAM which is quite large. Second, MATRIX obeys SET WORKSPACE, so if necessary you can enlarge the amount of RAM which MATRIX is permitted to occupy at once. And third, use RELEASE, of course. 03.12.2019 18:13, Dates, Brian пишет:
===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD |
Good point, Kirill. It's the workspace occupied. Interesting, though, that when I increased the workspace I got the same error message. The release, I think solved it. I always operate with mxloops at 1e9, so that didn't change. Perhapes setting miterate at
1e9 was of assistance as well. Lesson learned: use release when something is no longer needed.
This is complex syntax for a client who wants everything at once for a t-test for multiple variables. So the syntax computes descriptives for each variable for each group, the K-S test of normality, Levene's test of homogeneity of variance, and t-test, effect
size statistics, retrospective power, and overlap for both assuming equal variances and not assuming equal variances. Rather than step in and out of the gui, I did it all in matrix. It runs well and provides exactly what he wants in the order he wants it.
So, unlike my other matrix ventures, this really did produce lots of vectors/matrices.
Thanks again.
Brian
From: Kirill Orlov <[hidden email]>
Sent: Tuesday, December 3, 2019 10:28 AM To: Dates, Brian <[hidden email]>; [hidden email] <[hidden email]> Subject: Re: Error #4 - Fatal Error Brian, my personal opinion is that the potential limit on the number of matrices, if it exists, is not much important. Because it is unusual to create many thousands of names in MATRIX.
=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD
The summative size of matrices is what critically important. MATRIX is RAM-dependent. The more RAM you have the bigger is the overall number of elements you can keep in MATRIX. Windows 10 can use up to 32 Gb of RAM which is quite large. Second, MATRIX obeys SET WORKSPACE, so if necessary you can enlarge the amount of RAM which MATRIX is permitted to occupy at once. And third, use RELEASE, of course. 03.12.2019 18:13, Dates, Brian пишет:
|
In reply to this post by bdates
Sounds like something more simply achieved with standard procedures. Use OMS to grab the desired output. Match the tables you need after slicing and dicing then crank out the custom reports. Much easier than all the bookkeeping you would need to do in MATRIX.
===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD |
Free forum by Nabble | Edit this page |