Hi everyone,
I'm working with the Vector Autoregressive Model (VAR), and it seems like
the ur.ca package provides the best
function for this purpose.
My problem is, that I don't know how to extract a certain value from the
output without using the variables names.
I was hoping that this could be done by using numerical value, e.g. [1],
instead of writing for instance $Liabilities. The reason why I want to do
this is, that this would help me to automize the process, since I may not
use the variable Liabilities next time.
Here is an example when the process works, but I have to do it manually by
typing in $Liabilities
VARrow<-VAR(data,p=1,type="const")
row<-VARrow$varresult$Liabilities$coefficient
row[1]
Liabilities.l1
0.06898797
It would be nice if I could type in e.g. colnames(data)[1] instead of
Liabilities (because colnames(data)[1] referes to Liabilites) but this
command just says the value is NULL instead 0.06898797....
Any help is much appriciated
--
View this message in context: http://r.789695.n4.nabble.com/Extracting-results-from-the-VAR-output-tp4638072.html
Sent from the R help mailing list archive at Nabble.com.
Extracting results from the VAR output
4 messages · Rmillan, Rui Barradas, David Winsemius
Hello, I'm not familiar with package urca but your problem seems to be in the access of a list member. The operator '$' is an alternative to '[[', and you are right, the latter is recommended programmatically. Try something along the lines of the following. VARrow[[ "varresult" ]][[ "Liabilities" ]] And note that you can use numbers instead of the members' names. str(VARrow) would give the structure of the variable and the appropriate numbers to use (just count). Hope this helps, Rui Barradas Em 27-07-2012 09:57, Rmillan escreveu:
Hi everyone,
I'm working with the Vector Autoregressive Model (VAR), and it seems like
the ur.ca package provides the best
function for this purpose.
My problem is, that I don't know how to extract a certain value from the
output without using the variables names.
I was hoping that this could be done by using numerical value, e.g. [1],
instead of writing for instance $Liabilities. The reason why I want to do
this is, that this would help me to automize the process, since I may not
use the variable Liabilities next time.
Here is an example when the process works, but I have to do it manually by
typing in $Liabilities
VARrow<-VAR(data,p=1,type="const")
row<-VARrow$varresult$Liabilities$coefficient
row[1]
Liabilities.l1
0.06898797
It would be nice if I could type in e.g. colnames(data)[1] instead of
Liabilities (because colnames(data)[1] referes to Liabilites) but this
command just says the value is NULL instead 0.06898797....
Any help is much appriciated
--
View this message in context: http://r.789695.n4.nabble.com/Extracting-results-from-the-VAR-output-tp4638072.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________ R-help at r-project.org mailing list 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.
On Jul 27, 2012, at 4:34 AM, Rui Barradas wrote:
Hello, I'm not familiar with package urca but your problem seems to be in the access of a list member. The operator '$' is an alternative to '[[', and you are right, the latter is recommended programmatically. Try something along the lines of the following. VARrow[[ "varresult" ]][[ "Liabilities" ]]
That was equivalent to the original code and does not address the question posed.
And note that you can use numbers instead of the members' names. str(VARrow) would give the structure of the variable and the appropriate numbers to use (just count). Hope this helps, Rui Barradas Em 27-07-2012 09:57, Rmillan escreveu:
Hi everyone,
I'm working with the Vector Autoregressive Model (VAR), and it
seems like
the ur.ca package provides the best
function for this purpose.
My problem is, that I don't know how to extract a certain value
from the
output without using the variables names.
I was hoping that this could be done by using numerical value, e.g.
[1],
instead of writing for instance $Liabilities. The reason why I want
to do
this is, that this would help me to automize the process, since I
may not
use the variable Liabilities next time.
Here is an example when the process works, but I have to do it
manually by
typing in $Liabilities
VARrow<-VAR(data,p=1,type="const")
row<-VARrow$varresult$Liabilities$coefficient
row[1]
Liabilities.l1
0.06898797
It would be nice if I could type in e.g. colnames(data)[1] instead of
Liabilities (because colnames(data)[1] referes to Liabilites) but
this
command just says the value is NULL instead 0.06898797....
If colnames(data)[1] typed at the console would return exactly "Liabilities" then you could have used: row <- VARrow$varresult[[ colnames(data)[1] ]]$coefficient The colnames(data)[1] expression will get evaluated and the character value substituted in the "[[" argument. I worry that may not be the correct solution because the name of that result is not "Liabilities" but rather "Liabilities.l1". You really _should_ present a better problem description, with at the very least the output of str(VARrow) or .... more preferably the output of dput(head(VARrow)).
David Winsemius, MD Alameda, CA, USA
2 days later
Hi guys, Thank you very much :) It seems that both your suggestions works. I wasn't aware of the function [[argument]], it makes the programming procedure much easier! :) Best regards, Emil -- View this message in context: http://r.789695.n4.nabble.com/Extracting-results-from-the-VAR-output-tp4638072p4638300.html Sent from the R help mailing list archive at Nabble.com.