[R] Problem in adapting a script I have not written.

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Thu Feb 18 19:49:52 CET 2016


Looks to me like the code was not tested for an AR value of 1. Works if I set it to 2. Could be an issue of failing to use the drop=FALSE option when indexing a matrix or data frame, but I don't have time to dig thorough the code to find out where.
-- 
Sent from my phone. Please excuse my brevity.

On February 18, 2016 9:12:25 AM PST, Dalila Zolarsi <dalila.zolarsi at gmail.com> wrote:
>I'm really sorry, I forgot the attachment! I attach the main code as
>txt
>file, instead here
><http://www.ssc.wisc.edu/~bhansen/progs/restat_99.html> there
>everything else I mentioned.
>I apologize if I have not been able to summarize, but I am not so
>proficient.
>
>Yes, the ar parameter is exactly what I said it is; it is an index that
>shouldn't be found in the data, but you decide it. Even the author
>specifies it is "the order of the autoregressive parameter", thus I
>really
>don't have a clue of why he used indexetion. Np is his dataset, you can
>find it in the link below, if you want to help me.
>
>Yes, I read about indexing but I'm asking for help just because I am
>sure
>of what "ar" is. I am not proficient with R, but at least I have
>knowledge
>Time series econometrics' theory.
>
>No, I am not asking to do my homework for me howeverer. I spent the
>last
>two whole weeks on this code trying different inputs and trying to put
>all
>my effort in understanding every single detail of this code, otherwise
>I
>would never asked for help to unknown people. And it is my master
>thesis,
>thus is not really nice to use the word "homework" if you don't know my
>personal situation. However, I understand you probably receive
>thousands of
>silly problems, thus don't get me wrong for what I've just said.
>
>All the data and the code are here
><http://www.ssc.wisc.edu/~bhansen/progs/restat_99.html>, the main
>procedure
>is attached.
>(When I sent the first mail, I sent it another right after with the
>attachment, but the moderators discarded it, thus I apologize again for
>the
>uncomplete post"
>
>
>
>2016-02-18 17:57 GMT+01:00 Jeff Newmiller <jdnewmil at dcn.davis.ca.us>:
>
>> d[ 3 ] means indexing some vector-like object called "d" to extract
>the
>> third value. (You really need to read the Introduction to R document
>that
>> comes with R, particularly about indexing. There are actually four
>ways to
>> do indexing that may come up as you read other people's code.) "d" is
>the
>> contents of the seventh row of some matrix-like object called "np"
>which
>> you have given no definition for. Without that information "ar" could
>be
>> almost anything. If you are right and their example works then you
>have not
>> given us the whole example. You mention attaching code... the mailing
>list
>> strips off most attachments to avoid spreading viruses, but if they
>have
>> the extension ".txt" they usually get through okay.
>>
>> If the ar parameter really is what you say it is supposed to be,
>giving it
>> the value 1 should be perfectly acceptable. However, you may not have
>> specified the arguments to that function in the correct order, or the
>> problem may be in other arguments.
>>
>> Do be warned that this list is here to help you through rough
>spots... not
>> to do your work for you. The Posting Guide mentioned at the bottom of
>every
>> R-help email asks you to post minimal examples rather than long
>complicated
>> code files, so you are at best near the edge of acceptable use in
>this
>> request, so at least be sure we can reproduce your error. (Posting
>your
>> email in plain text rather than HTML is another important step in
>> communicating clearly by avoiding corruption of your code in the
>mailing
>> list.)
>> --
>> Sent from my phone. Please excuse my brevity.
>>
>> On February 17, 2016 1:19:07 PM PST, Dalila Zolarsi <
>> dalila.zolarsi at gmail.com> wrote:
>>
>>> Dear R users,
>>> I'm new of R, thus I apologize in advance if my following question
>may
>>> result a little dumb, but I really need some expert advice.
>>> I have a problem in applying someone else's code to my data. The
>author's
>>> code works perfectly with the examples he provides, and it seems to
>me I am
>>> doing all the correct steps in my case, but apparently I am not.
>>>
>>> The main function is:
>>> grid_boot <- function(dat,name,t,ar,grid,bq,c,all,grph)
>>> and I should simply specify the parameter and then running the code
>given
>>> in the script, or at least for the author's example this works.
>>> All the specification in the examples are close to my case, except
>for the
>>> ar parameter.
>>> The ar parameter is the autoregressive order of a time series, so it
>is
>>> simply a number from 1 to n that you choose. My series requires a
>simple ar
>>> = 1, but if I run the code with this specification, R give me back
>the
>>> following
>>> error:
>>>
>>> " Error in solve.default(t(x) %*% x) :
>>>   system is computationally singular: reciprocal condition number =
>>> 6.07898e-34 In addition: Warning messages:
>>> 1: In dat[(ar - k + 2):(n - k + 1)] - dat[(ar - k + 1):(n - k)] :
>>>   longer object length is not a multiple of shorter object length
>>> 2: In dat[(ar - k + 2):(n - k + 1)] - dat[(ar - k + 1):(n - k)] :
>>>   longer object length is not a multiple of shorter object length"
>>>
>>> In the example, the author specifies as follow:
>>> orig <- 2    # set to 1 for original data, set to 2 for extended
>data #
>>> t <- 2
>>> grid <- 200
>>> bq <- 9999
>>> c <- .9
>>> i <- 7
>>> d <- np[i,]
>>> if (orig==1){
>>>     y <- as.matrix(dat[d[1]:(d[2]-18)])
>>>     if (i==4) y <- y[21:82]
>>> }else{
>>>     y <- as.matrix(dat[d[1]:d[2]])
>>> }
>>> name <- "GNP per Capita: 1869-1988"
>>> ar <- d[3]
>>>
>>> What I can't figure out is the indication ar <-
>>> d[3] and in general what
>>> precisely he means with specifying i and d. I think this
>specification is
>>> due to the fact that his dataset is made of several variables all
>written
>>> in the same column and they are associated with an index.
>>> When I give these inputs to R (I use RStudio), in the environment
>pane
>>>  appears as ar = 1. When I give the numerical input (ar <- 1) for my
>>> exercise instead, the only result is the error above mentioned.
>>>
>>> Below, I report my data (as you can see, it is only a single series
>with
>>> few observation, so it should be an easy one) and my inputs, while I
>attach
>>> the script in a text file because it is quite a long one. I also
>attach the
>>> example and the data used in it.
>>> I hope someone can help me figuring out what am I doing wrong and I
>will be
>>> very grateful to anyone who is willing to help a newbie like me.
>>>
>>> library(pracma)
>>> source(file.choose())
>>> dat <-
>>> as.matrix(read.csv(file.choose(), header = TRUE))
>>> print(dat)
>>>
>>> USA
>>>  [1,]  0.01075000
>>>  [2,]  0.01116000
>>>  [3,]  0.01214000
>>>  [4,]  0.01309000
>>>  [5,]  0.01668000
>>>  [6,]  0.02991000
>>>  [7,]  0.02776000
>>>  [8,]  0.04218000
>>>  [9,]  0.05415000
>>> [10,]  0.05895000
>>> [11,]  0.04256000
>>> [12,]  0.03306000
>>> [13,]  0.00622000
>>> [14,]  0.11035000
>>> [15,]  0.09132000
>>> [16,]  0.05737000
>>> [17,]  0.06486000
>>> [18,]  0.07647000
>>> [19,]  0.11266000
>>> [20,]  0.13509000
>>> [21,]  0.10316000
>>> [22,]  0.06161000
>>> [23,]  0.03212000
>>> [24,]  0.04317000
>>> [25,]  0.03561000
>>> [26,]  0.01859000
>>> [27,]  0.03741000
>>> [28,]  0.04009000
>>> [29,]  0.04827000
>>> [30,]  0.05398000
>>> [31,]  0.04235000
>>> [32,]  0.03029000
>>> [33,]  0.02952000
>>> [34,]  0.02607000
>>> [35,]  0.02805000
>>> [36,]  0.02931000
>>> [37,]  0.02338000
>>> [38,]  0.01552000
>>> [39,]  0.02188000
>>> [40,]
>>> 0.03377000
>>> [41,]  0.02826000
>>> [42,]  0.01586000
>>> [43,]  0.00002270
>>> [44,]  0.02677000
>>> [45,]  0.03393000
>>> [46,]  0.03226000
>>> [47,]  0.02853000
>>> [48,]  0.03839000
>>> [49,] -0.00000356
>>> [50,]  0.00001640
>>> [51,]  0.03157000
>>> [52,]  0.02069000
>>> [53,]  0.01465000
>>> [54,]  0.01622000
>>> [55,]  0.01622000
>>>
>>> dat <- dat
>>> name <- "Inflation"
>>> t <- 1
>>> ar <- 1
>>> grid <- 200
>>> bq <- 1999
>>> c <- .9
>>> all <- 0
>>> grph <- 1
>>>
>>> out <- grid_boot(dat, name, t, ar, grid, bq, c, all, grph)
>>>
>>>  [[alternative HTML version deleted]]
>>>
>>> ------------------------------
>>>
>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>>

	[[alternative HTML version deleted]]



More information about the R-help mailing list