Dear Leon, thanks for the advise.
I now know how to store the results of each calculation!
Thanks
Leandro
2011/6/8 Leon Unger <pindar(a)zedat.fu-berlin.de>
Am 08.06.2011 20:02, schrieb Leandro Zipitria:
Dear Leon, thanks it is more simpler than mine!
Just an additional answer. Instead of calculating the psd, I calculate the
mean, so the if condition should now read:
if mean(x)>=0
means[i,n] = mean(x)
else
means[i,n] = NA
endif
But I get an error, on the if condition.
The difference with your script is that the column is fixed in 1, and the
mine is variable. Should this be a problem?
Hi,
the condition to check psd is more general than pmean (or equivalently sd
and mean).
However, since you are dealing with prices the means cannot be negative and
this should be fine.
If I got it right one of the variables you restrict to is time and time is
at the same time the column index.
Hence replacing the'1' by the right loop variable should be fine too.
A a start try without the if-clause. At least some iterations (perhaps all)
should work and you can check the results.
Best
Leon
2011/6/8 Leon Unger <pindar(a)zedat.fu-berlin.de>
> Hi Leandro,
>
> recently I've done alomost the same stuff as you and the 'trick' I use
to
> make the code shorter is the following:
> (here an example without any real data)
>
> matrix means = zeros(nobs,1)
>
> loop i=1..I --quiet
> loop n=1..N --quiet
> loop k=1..K --quiet
> smpl (variable1 == i && variable2 == n && variable3 ==
k)
> --restrict --replace --balanced
> if psd(x) >0
> means[i,1] = pmean(x)
> endif
> endloop
> endloop
> endloop
>
> One could improve on this further and further...
> Perhaps this helps you.
>
> Cheers
> Leon
>
> Am 08.06.2011 18:17, schrieb Leandro Zipitria:
>
> Dear Jack, thanks for your answer.
>
> I will try to be more specific on the second answer.
> I have a panel data of price of several goods (variables) for supermarkets
> (units) at different time. Also, I have information for to wich city it
> belong each supermarket.
>
> I need to calculate several means:
>
> 1) for each good, then for each city, and then for each day, the mean
> price for all supermarkets that post the price that day.
> 2) forget goods for the moment. I first restrict the sample by city, and
> then by time (as I generate a time dummy for each day)
> 3) for each time and city I want to calculate the mean price, so I made
> the following script:
>
> smpl full
>
> genr time
> genr veces = d_prod_1 <> 0
> discrete ciudad
>
> smpl time <3 --restrict
>
> Mciudad = values(ciudad)
> Mtime = values(time)
>
> #matriz para poner las medias de cada estimacion
> matrix Xmean2 = Mciudad ** Mtime'
> matrix Xmean = Xmean2 - Xmean2
>
> #matriz para calcular la media y desviación estandar
> loop i=1..rows(Mciudad)
> scalar xi = Mciudad[i]
> smpl (ciudad=xi) --restrict --replace
> loop j=1..rows(Mtime)
> scalar tj = Mtime[j]
> smpl (time=tj) --restrict --replace
> find = {$i;$j}
> scalar m = mean(veces)
> subst = {m}
> X = replace(Xmean, find, subst)
> printf "mean(veces | ciudad = %g | time = %g) = %8.5f, sd(veces |
> ciudad = %g | time = %g) = %g\n", \
> xi, tj, mean(veces), xi, tj, sd(veces)
> end loop
> end loop
>
> 4) I generate a matrix which rows are the (number of) city and columns the
> time moment.
>
> Mciudad = values(ciudad)
> Mtime = values(time)
>
> #matriz para poner las medias de cada estimacion
> matrix Xmean2 = Mciudad ** Mtime'
> matrix Xmean = Xmean2 - Xmean2
>
> 5) Now I want to store in the ith jth element of the matrix, the mean of
> the ith city at the jht moment of time, so I try this, which is wrong I
> supposse:
>
> find = {$i;$j}
> scalar m = mean(veces)
> subst = {m}
> X = replace(Xmean, find, subst)
>
>
> Is there any way to store the iht jth calculation of the mean in the
> matrix I created in that position?
>
> Thanks, and I hope to be more clear now
> Leandro
>
> 2011/6/6 Riccardo (Jack) Lucchetti <r.lucchetti(a)univpm.it>
>
>> On Mon, 6 Jun 2011, Leandro Zipitria wrote:
>>
>> If I am working with a restricted version of a variable (using smpl
>>> --restrict), the mean, standard deviation, etc. reported is for the variable
>>> as a whole or just the restricted sample?
>>>
>>
>> Just the restricted sample. Example:
>>
>> gretl version 1.9.5cvs
>> Copyright Ramu Ramanathan, Allin Cottrell and Riccardo "Jack"
Lucchetti
>> This is free software with ABSOLUTELY NO WARRANTY
>> Current session: 2011-06-06 21:11
>>
>> "help" gives a list of commands
>> Type "open filename" to open a data set
>> ? open data4-1
>> open data4-1
>>
>> Read datafile /usr/local/share/gretl/data/data4-1.gdt
>> periodicity: 1, maxobs: 14
>> observations range: 1-14
>>
>> Listing 5 variables:
>> 0) const 1) price 2) sqft 3) bedrms 4) baths
>>
>> ? m = mean(sqft)
>> m = mean(sqft)
>> Generated scalar m = 1910.93
>> ? smpl 2 10
>> smpl 2 10
>> Full data range: 1 - 14 (n = 14)
>> Current sample: 2 - 10 (n = 9)
>>
>> ? m = mean(sqft)
>> m = mean(sqft)
>> Replaced scalar m = 1670.44
>>
>>
>> As a second answer, I am creating a doble loop for iterating mean and
>>> standar deviation from a variable. I want to create a matix that store the
>>> results of each calculation. That is, I have a panel, and want to restrict
>>> it looping on one variable (city) which will be the columns, and the time
>>> the rows. Each time gretl compute one statistic, I am trying to store it in
>>> the matrix, following the previous order. Is this possible?
>>>
>>
>> Yes it is. That said, I'm not at all sure to have understood what your
>> need is, but I have the feeling that you can write a much more efficient
>> script by using the pmean() and psd() function. Also, the user's guide is
>> your friend.
>>
>> Riccardo (Jack) Lucchetti
>> Dipartimento di Economia
>> Università Politecnica delle Marche
>>
>> r.lucchetti(a)univpm.it
>>
http://www.econ.univpm.it/lucchetti
>> _______________________________________________
>> Gretl-users mailing list
>> Gretl-users(a)lists.wfu.edu
>>
http://lists.wfu.edu/mailman/listinfo/gretl-users
>>
>
>
> _______________________________________________
> Gretl-users mailing
listGretl-users@lists.wfu.eduhttp://lists.wfu.edu/mailman/listinfo/gretl-users
>
>
>
> _______________________________________________
> Gretl-users mailing list
> Gretl-users(a)lists.wfu.edu
>
http://lists.wfu.edu/mailman/listinfo/gretl-users
>
_______________________________________________
Gretl-users mailing
listGretl-users@lists.wfu.eduhttp://lists.wfu.edu/mailman/listinfo/gretl-users
_______________________________________________
Gretl-users mailing list
Gretl-users(a)lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users