Inefficiency in join command?
by atecon
Hi all,
I just have to work a with a large panel dataset (left-hand side) to
which I would like to join a couple of series from a RHS-dataset. The
correct mapping is done via two keys.
I did some performance check, and it seems that the current
implementation runs the sorting/ mapping for each series joined
separately even though a single sorting/ mapping should be sufficient
(if I am not wrong).
In a first experiment I join all series from the RHS dataset by means of
the wildcard operator:
<join "@NAME_RHS_DATA" * --ikey=datedim,unitdim>
which takes about 5 sec. here.
Then I re-run the experiment by successively increasing the number of
series to join:
<hansl>
loop i=1..nelem(RHS_SERIES_NAMES)
printf "\nInfo: Start joining %d series.\n", $i
flush
strings tojoin = RHS_SERIES_NAMES[1:$i]
set stopwatch
join "@NAME_RHS_DATA" tojoin --ikey=datedim,unitdim
printf "\nInfo: Joining took %.2f sec.\n", $stopwatch
flush
list New = dataset - Base
delete New --force
endloop
</hansl>
The output is as follows:
<output>
Info: Joining all series took 4.91 sec.
Info: Start joining 1 series.
Info: Joining took 1.91 sec.
Info: Start joining 2 series.
Info: Joining took 2.88 sec.
Info: Start joining 3 series.
Info: Joining took 3.88 sec.
Info: Start joining 4 series.
Info: Joining took 4.84 sec.
Script done
</output>
Do you agree that the sorting or mapping overhead can in principle be
reduced when joining multiple series at once?
Thanks,
Artur
3 years, 2 months
getline() and non-pointer argument
by Sven Schreiber
Hi,
as nicely documented, the getline() function works with a source and a
target argument, which are used as in:
getline(source, target)
Syntactically, shouldn't it rather be getline(source, &target) ? I
thought that in hansl a function argument can only be modified if a
pointer to it is passed. Compare the mols() or the eigen() syntax. Are
there other functions with writable non-pointerized arguments?
(In any case, the old form could maybe continue to be allowed for
compatibility.)
thanks
sven
3 years, 7 months
I can't download Gretl for MacOS
by angel2000@onet.com.pl
Hello,
I'm a student and I need to download the gretl but when I try to install it the "error" comes out. It says that the current version of gretl is not updated for my version of iOS (I have MacOS Big Sur version 11.2.3). I have no idea what should I do but it says I need to contact the developer of the application and the developer have to update this one.
I added attachment with what I see when I want to download the gretl.
3 years, 8 months
Re: Theil's U1 for fcstats (reloaded)
by Sven Schreiber
Am 13.03.2021 um 22:42 schrieb ESTEVEZ NUÑEZ JUAN CARLOS:
> Hi Sven,
>
> I was not aware of this page on bugs.
No problem, both ways are OK: Report a bug here on the mailing list, or
open a ticket on the sourceforge tracker
(https://sourceforge.net/p/gretl/bugs). The important thing is that the
bug is reported!
cheers
sven
3 years, 8 months
Re: Theil's U1 for fcstats (reloaded)
by Sven Schreiber
Am 03.03.2021 um 13:36 schrieb ESTEVEZ NUÑEZ JUAN CARLOS:
> May be I´m wrong, but I suppose that Theil statistics need ordered
> data to compute Y_t -Y_t-1 .
> But perhaps I´m missing something.
Ah, so your topic is probably more closely related than I thought. I
think I see what you mean. Indeed the U_2 measure does not make sense
for unordered data. Maybe another reason to add the U_1 measure, which
just compares the actual and forecast within each observation. (With a
different interpretation, of course - I'm not saying that the two
variants mean the same thing.)
And in addition I think I agree that U_2 shouldn't be done in a cross
section.
thanks
sven
3 years, 8 months
error with sudden "magic" appearance of complex values
by Sven Schreiber
Hi,
with the March 7th snapshot (on Windows) I'm getting a weird error
saying that the invpd() function doesn't support complex arguments. Fair
enough, but this code has never used complex numbers. Debugging shows
that a certain input matrix indeed is printed by gretl as a complex
matrix of zeros:
Pmat (2 x 2)
0.00000 - 0.00000i 0.00000 - 0.00000i
0.00000 - 0.00000i 0.00000 - 0.00000i
But again, I'm not working with complex numbers here. This matrix should
be real, and I'm not using any of the new gretl functions for complex
numbers. Could this be some kind of underflow problem where suddenly
gretl interprets stuff as complex?
cheers
sven
3 years, 8 months
New windows snapshots --- testing needed
by Riccardo (Jack) Lucchetti
Hi all,
we have been working on a new setup for producing "snapshots" for the
Windows operating system (a "snapshot" being essentially a version of
gretl that contains the features we're working on for the next version).
This should enable us to produce windows snapshots more easily and to
provide them to the community in a more timely manner.
Although we're confident that the new setup should work fine, you never
know: especially with the Windows OS, there could always be some subtle
details we might have missed.
Therefore, we'd like those of you who use Windows to help us check if the
snapshots produced using the new setup are in fact 100% ok. To download
them, go to
https://sourceforge.net/projects/gretl/files/testing/
You'll find 32- and 64-bit versions.
It would be very useful to us if you could hammer these versions of gretl
by trying things out, and let us know what happened, even if everything
worked normally, which is what we expect.
Thank you!
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti(a)univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------
3 years, 8 months
SIGABRT
by Marcin Błażejowski
Hi,
there is a double free detected in tcache 2:
<hansl>
function void foo (const scalar *X)
X += 1
eval X
end function
Z = 1
foo(Z)
</hansl>
Marcin
--
Marcin Błażejowski
3 years, 8 months
should nelem() be defined for series?
by Sven Schreiber
Hi,
this question is prompted by the very recent tip for the aggregate()
function that the position of the count column is at nelem(byvar) + 1.
(Where the "byvar" name stems from the help text.)
I realized that this will fail if the byvar argument is only a single
series.
For example:
<hansl>
open denmark
list L1 = LRM
eval nelem(L1) # 1, of course
eval nelem(LRM) # data type error
</hansl>
I understand that nelem() on a series is ambiguous, because it could be
understood to mean the observations, like in nelem({x}). But we also
have the nobs() function for that.
I wonder if this issue may become more relevant with the recent
overloaded "numeric" argument possibility? Maybe also the other way
around, in that nelem(x) should become an alias for nobs(x) for a series
because of that? Hm.
(BTW, the nelem doc needs updating, because it also works for a string.)
thanks
sven
3 years, 8 months