Re: [R] regression with ordered arguments
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
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
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
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.