Re: [R] regression with ordered arguments

2011-09-29 Thread Petr PIKAL
Hi

> 
> That's cool!
> 
> it works :-)))
> 
> for me (as a stata user) these are quite basic things and I didn't find 
> them anywhere for what concerns R. I can't figure out why.
> Really, thank you so much,

Your wellcome
BTW after reading R intro which shall be in doc directory of your 
installation I recommend to read R - Inferno from Patrick Burns

 

Regards
Petr


> f.
> 

> On 27 September 2011 14:20, Petr PIKAL  wrote:
> Hi Francesco
> 
> > Dear Petr,
> >
> > thank you so much for your quick reply. I was sure that there were 
some
> > smart ways to address my issue. I went through it and took some time 
to
> > look at the help for lapply and mapply.
> > However, some doubts still remain. Following your example, I did:
> > lll <-vector(mode = "list", length = 3)
> > mmm <-vector(mode = "list", length = 3)
> >
> > yyy <- lapply(lll, function(x) runif(100, min =0, max = 1))
> > xxx <- lapply(mmm, function(x) runif(100, min =0, max = 1))
> >
> > but then I get stucking again. It's not clear to me how to pass a lm
> > command to mapply. I tried to give a look at lapply and sapply, but I
> did
> > not manage to go much further.
> > It would be of big help if you could give me some more hints on this 
or
> if
> > you could provide me with some references. I am sorry, but I find the
> help
> > files quite cryptic. Is there a manual or some other source that you
> would
> > advice me where I could find some more example on how to deal with
> similar issues?

> You can use for cycle
> 
> for (i in 1:3) lll[[i]] <-lm(yyy[[i]]~xxx[[i]])
> 
> put result of lm to list object lll then
> 
> lapply(lll, summary)
> 
> gives you summary of each lm function, if you want to use mapply
> 
> mmm<-mapply(function(x,y) lm(y~x), xxx, yyy, SIMPLIFY=F)
> 
> you can see structure of any object by
> str(mmm)
> 
> Both results shall be similar, for this case I believe that for loop is
> easier to understand.
> 
> Regards
> Petr
> 
> 
> 
> >
> > Thank you very much for your precious support,
> > f.
> >
> 
> > On 27 September 2011 10:08, Petr PIKAL  wrote:
> > Hi
> >
> > > Dear R listers,
> > >
> > > I am trying to be a new R user, but life is not that easy.
> > > My problem is the following one: let's assume to have 3 outcome
> > variables
> > > (y1, y2, y3) and 3 explanatory ones (x1, x2, x3).
> > > How can I run the following three separate regressions without 
having
> to
> > > repeat the lm command three times?
> > >
> > > fit.1 <- lm(y1 ~ x1)
> > > fit.2 <- lm(y2 ~ x2)
> > > fit.3 <- lm(y3 ~ x3)
> > >
> > >
> > > Both the y and x variables have been generated extracting random
> numbers
> > > from uniform distributions using a command such as:
> > >
> > > y1 <- runif(100, min = 0, max = 1)
> > >
> > > I went to several introductory manuals, the manual R for stata 
users,
> > > econometrics in R, Introductory statistics with R and several blogs
> and
> > help
> > > files, but I didn't find an answer to my question.
> > > can you please help me? In Stata I wouldn't have any problem  in
> running
> > > this as a loop, but I really can't figure out how to do that with R.
> 
> > You can construct loop with naming through paste, numbers and get in R
> too
> > but you will find your life much easier to use R powerfull list
> > operations.
> >
> > Insted of
> >
> > y1 <- runif(100, min = 0, max = 1)
> > ...
> >
> > lll <- vector(mode="list", length=3)
> > lll <- lapply(1, function(x) runif(100, min = 0, max = 1))
> >
> > you can use probably mapply for doing your regression.
> > Or you can easily access part of the list by loop
> >
> > for (i in 1:3) lm(lll[[i]]~xx[[i]])
> >
> > (if you have your x's in list xx)
> >
> > Regards
> > Petr
> >
> > > Thanks in advance for all your help.
> > > Best,
> > > f.
> > >
> > >[[alternative HTML version deleted]]
> > >
> > > __
> > > R-help@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.
__
R-help@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.


Re: [R] regression with ordered arguments

2011-09-27 Thread Francesco Sarracino
That's cool!

it works :-)))

for me (as a stata user) these are quite basic things and I didn't find them
anywhere for what concerns R. I can't figure out why.
Really, thank you so much,
f.


On 27 September 2011 14:20, Petr PIKAL  wrote:

> Hi Francesco
>
> > Dear Petr,
> >
> > thank you so much for your quick reply. I was sure that there were some
> > smart ways to address my issue. I went through it and took some time to
> > look at the help for lapply and mapply.
> > However, some doubts still remain. Following your example, I did:
> > lll <-vector(mode = "list", length = 3)
> > mmm <-vector(mode = "list", length = 3)
> >
> > yyy <- lapply(lll, function(x) runif(100, min =0, max = 1))
> > xxx <- lapply(mmm, function(x) runif(100, min =0, max = 1))
> >
> > but then I get stucking again. It's not clear to me how to pass a lm
> > command to mapply. I tried to give a look at lapply and sapply, but I
> did
> > not manage to go much further.
> > It would be of big help if you could give me some more hints on this or
> if
> > you could provide me with some references. I am sorry, but I find the
> help
> > files quite cryptic. Is there a manual or some other source that you
> would
> > advice me where I could find some more example on how to deal with
> similar issues?
>
> You can use for cycle
>
> for (i in 1:3) lll[[i]] <-lm(yyy[[i]]~xxx[[i]])
>
> put result of lm to list object lll then
>
> lapply(lll, summary)
>
> gives you summary of each lm function, if you want to use mapply
>
> mmm<-mapply(function(x,y) lm(y~x), xxx, yyy, SIMPLIFY=F)
>
> you can see structure of any object by
> str(mmm)
>
> Both results shall be similar, for this case I believe that for loop is
> easier to understand.
>
> Regards
> Petr
>
>
>
> >
> > Thank you very much for your precious support,
> > f.
> >
>
> > On 27 September 2011 10:08, Petr PIKAL  wrote:
> > Hi
> >
> > > Dear R listers,
> > >
> > > I am trying to be a new R user, but life is not that easy.
> > > My problem is the following one: let's assume to have 3 outcome
> > variables
> > > (y1, y2, y3) and 3 explanatory ones (x1, x2, x3).
> > > How can I run the following three separate regressions without having
> to
> > > repeat the lm command three times?
> > >
> > > fit.1 <- lm(y1 ~ x1)
> > > fit.2 <- lm(y2 ~ x2)
> > > fit.3 <- lm(y3 ~ x3)
> > >
> > >
> > > Both the y and x variables have been generated extracting random
> numbers
> > > from uniform distributions using a command such as:
> > >
> > > y1 <- runif(100, min = 0, max = 1)
> > >
> > > I went to several introductory manuals, the manual R for stata users,
> > > econometrics in R, Introductory statistics with R and several blogs
> and
> > help
> > > files, but I didn't find an answer to my question.
> > > can you please help me? In Stata I wouldn't have any problem  in
> running
> > > this as a loop, but I really can't figure out how to do that with R.
>
> > You can construct loop with naming through paste, numbers and get in R
> too
> > but you will find your life much easier to use R powerfull list
> > operations.
> >
> > Insted of
> >
> > y1 <- runif(100, min = 0, max = 1)
> > ...
> >
> > lll <- vector(mode="list", length=3)
> > lll <- lapply(1, function(x) runif(100, min = 0, max = 1))
> >
> > you can use probably mapply for doing your regression.
> > Or you can easily access part of the list by loop
> >
> > for (i in 1:3) lm(lll[[i]]~xx[[i]])
> >
> > (if you have your x's in list xx)
> >
> > Regards
> > Petr
> >
> > > Thanks in advance for all your help.
> > > Best,
> > > f.
> > >
> > >[[alternative HTML version deleted]]
> > >
> > > __
> > > R-help@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.
>
>

[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] regression with ordered arguments

2011-09-27 Thread Petr PIKAL
Hi Francesco

> Dear Petr,
> 
> thank you so much for your quick reply. I was sure that there were some 
> smart ways to address my issue. I went through it and took some time to 
> look at the help for lapply and mapply.
> However, some doubts still remain. Following your example, I did:
> lll <-vector(mode = "list", length = 3)
> mmm <-vector(mode = "list", length = 3) 
> 
> yyy <- lapply(lll, function(x) runif(100, min =0, max = 1))
> xxx <- lapply(mmm, function(x) runif(100, min =0, max = 1))
> 
> but then I get stucking again. It's not clear to me how to pass a lm 
> command to mapply. I tried to give a look at lapply and sapply, but I 
did 
> not manage to go much further.
> It would be of big help if you could give me some more hints on this or 
if
> you could provide me with some references. I am sorry, but I find the 
help
> files quite cryptic. Is there a manual or some other source that you 
would
> advice me where I could find some more example on how to deal with 
similar issues?

You can use for cycle

for (i in 1:3) lll[[i]] <-lm(yyy[[i]]~xxx[[i]])

put result of lm to list object lll then

lapply(lll, summary)

gives you summary of each lm function, if you want to use mapply

mmm<-mapply(function(x,y) lm(y~x), xxx, yyy, SIMPLIFY=F)

you can see structure of any object by
str(mmm)

Both results shall be similar, for this case I believe that for loop is 
easier to understand.

Regards
Petr



> 
> Thank you very much for your precious support,
> f.
> 

> On 27 September 2011 10:08, Petr PIKAL  wrote:
> Hi
> 
> > Dear R listers,
> >
> > I am trying to be a new R user, but life is not that easy.
> > My problem is the following one: let's assume to have 3 outcome
> variables
> > (y1, y2, y3) and 3 explanatory ones (x1, x2, x3).
> > How can I run the following three separate regressions without having 
to
> > repeat the lm command three times?
> >
> > fit.1 <- lm(y1 ~ x1)
> > fit.2 <- lm(y2 ~ x2)
> > fit.3 <- lm(y3 ~ x3)
> >
> >
> > Both the y and x variables have been generated extracting random 
numbers
> > from uniform distributions using a command such as:
> >
> > y1 <- runif(100, min = 0, max = 1)
> >
> > I went to several introductory manuals, the manual R for stata users,
> > econometrics in R, Introductory statistics with R and several blogs 
and
> help
> > files, but I didn't find an answer to my question.
> > can you please help me? In Stata I wouldn't have any problem  in 
running
> > this as a loop, but I really can't figure out how to do that with R.

> You can construct loop with naming through paste, numbers and get in R 
too
> but you will find your life much easier to use R powerfull list
> operations.
> 
> Insted of
> 
> y1 <- runif(100, min = 0, max = 1)
> ...
> 
> lll <- vector(mode="list", length=3)
> lll <- lapply(1, function(x) runif(100, min = 0, max = 1))
> 
> you can use probably mapply for doing your regression.
> Or you can easily access part of the list by loop
> 
> for (i in 1:3) lm(lll[[i]]~xx[[i]])
> 
> (if you have your x's in list xx)
> 
> Regards
> Petr
> 
> > Thanks in advance for all your help.
> > Best,
> > f.
> >
> >[[alternative HTML version deleted]]
> >
> > __
> > R-help@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.

__
R-help@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.


Re: [R] regression with ordered arguments

2011-09-27 Thread Francesco Sarracino
Dear Petr,

thank you so much for your quick reply. I was sure that there were some
smart ways to address my issue. I went through it and took some time to look
at the help for lapply and mapply.
However, some doubts still remain. Following your example, I did:
lll <-vector(mode = "list", length = 3)
mmm <-vector(mode = "list", length = 3)

yyy <- lapply(lll, function(x) runif(100, min =0, max = 1))
xxx <- lapply(mmm, function(x) runif(100, min =0, max = 1))

but then I get stucking again. It's not clear to me how to pass a lm command
to mapply. I tried to give a look at lapply and sapply, but I did not manage
to go much further.
It would be of big help if you could give me some more hints on this or if
you could provide me with some references. I am sorry, but I find the help
files quite cryptic. Is there a manual or some other source that you would
advice me where I could find some more example on how to deal with similar
issues?

Thank you very much for your precious support,
f.


On 27 September 2011 10:08, Petr PIKAL  wrote:

> Hi
>
> > Dear R listers,
> >
> > I am trying to be a new R user, but life is not that easy.
> > My problem is the following one: let's assume to have 3 outcome
> variables
> > (y1, y2, y3) and 3 explanatory ones (x1, x2, x3).
> > How can I run the following three separate regressions without having to
> > repeat the lm command three times?
> >
> > fit.1 <- lm(y1 ~ x1)
> > fit.2 <- lm(y2 ~ x2)
> > fit.3 <- lm(y3 ~ x3)
> >
> >
> > Both the y and x variables have been generated extracting random numbers
> > from uniform distributions using a command such as:
> >
> > y1 <- runif(100, min = 0, max = 1)
> >
> > I went to several introductory manuals, the manual R for stata users,
> > econometrics in R, Introductory statistics with R and several blogs and
> help
> > files, but I didn't find an answer to my question.
> > can you please help me? In Stata I wouldn't have any problem  in running
> > this as a loop, but I really can't figure out how to do that with R.
>
> You can construct loop with naming through paste, numbers and get in R too
> but you will find your life much easier to use R powerfull list
> operations.
>
> Insted of
>
> y1 <- runif(100, min = 0, max = 1)
> ...
>
> lll <- vector(mode="list", length=3)
> lll <- lapply(1, function(x) runif(100, min = 0, max = 1))
>
> you can use probably mapply for doing your regression.
> Or you can easily access part of the list by loop
>
> for (i in 1:3) lm(lll[[i]]~xx[[i]])
>
> (if you have your x's in list xx)
>
> Regards
> Petr
>
> > Thanks in advance for all your help.
> > Best,
> > f.
> >
> >[[alternative HTML version deleted]]
> >
> > __
> > R-help@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.
>
>

[[alternative HTML version deleted]]

__
R-help@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.