[R] Loop over folder files
David Winsemius
dwinsemius at comcast.net
Tue Aug 23 22:02:50 CEST 2016
> On Aug 23, 2016, at 10:01 AM, Juan Ceccarelli Arias <jfca283 at gmail.com> wrote:
>
> Im running this but the code doesn't seem work.
> It just hangs out but doesn't show any error.
>
>
> for (i in 1:length(fuente)){
>
> xxx=read_dta(fuente[i])
>
> table(xxx$cise, xxx$sexo)
>
> rm(xxx)
>
> }
I still find the behavior of R's `for`-loop to be rather puzzling. In this case you appear to be getting the operation done, but because you didn't assign those table values to a variable they just disappeared.
Try this:
XXX <- list()
for (i in 1:length(fuente)){
xxx=read_dta(fuente[i])
XXX[[i]] <- table(xxx$cise, xxx$sexo)
rm(xxx)
}
str(XXX)
Seems to me that if you can do assignment to the parent environment (without actually using assign( ..., env=...) that you should also be able to see the results of evaluation occurring inside the for loop, but for-loops return NULL. So you see nothing.
David.
>
> On Tue, Aug 23, 2016 at 6:31 AM, <ruipbarradas at sapo.pt> wrote:
>
>> Hello,
>>
>> The op could also use package sos to find that and other packages to read
>> stata files.
>>
>> install.packages("sos")
>>
>> library(sos)
>> findFn("stata")
>> found 374 matches; retrieving 19 pages
>> 2 3 4 5 6 7 8 9 10
>> 11 12 13 14 15 16 17 18 19
>> Downloaded 258 links in 121 packages
>>
>>
>> The first package is readstata13 but there are others.
>>
>> Hope this helps,
>>
>> Rui Barradas
>>
>>
>>
>> Citando Michael Dewey <lists at dewey.myzen.co.uk>:
>>
>> Dear Juan
>>
>> If this is a Stata 13 file the package readstata13 available from CRAN may
>> be of assistance.
>>
>> On 22/08/2016 18:40, Juan Ceccarelli Arias wrote:
>>
>> I removed the data,frame=True...
>> I obtain this warnings...
>> Error in read.dta(fuente[i]) : not a Stata version 5-12 .dta file
>> In addition: There were 50 or more warnings (use warnings() to see the
>> first 50)
>>
>> the warnings() throws this
>> Warning messages:
>> 1: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else
>> paste0(labels, ... :
>> duplicated levels in factors are deprecated
>> 2: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else
>> paste0(labels, ... :
>> duplicated levels in factors are deprecated
>> 3: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else
>> paste0(labels, ... :
>> duplicated levels in factors are deprecated
>> 4: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else
>> paste0(labels, ... :
>> duplicated levels in factors are deprecated
>> 5: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else
>> paste0(labels, ... :
>> duplicated levels in factors are deprecated
>>
>>
>>
>> On Mon, Aug 22, 2016 at 2:32 PM, <ruipbarradas at sapo.pt> wrote:
>>
>> Hello,
>>
>> That argument doesn't exist, hence the error.
>> Read the help page ?read.dta more carefully. You will see that already
>> read.dta reads into a data.frame.
>>
>> Hope this helps,
>>
>> Rui Barradas
>>
>>
>> Citando Juan Ceccarelli Arias <jfca283 at gmail.com>:
>>
>> Hi
>> I need to apply some code over some stata files that are in folder.
>> I've wrote this
>>
>> library(foreign)
>>
>> fuente=list.files("C:/Users/Jceccarelli/Bases/Stata", pattern="dta$",
>> full.names=FALSE)
>>
>> for (i in 1:length(fuente)){
>>
>> xxx=read.dta(fuente[i], to.data.frame=TRUE)
>>
>>
>> }
>>
>> But i get this error
>>
>> Error in read.dta(fuente[i], to.data.frame = TRUE) :
>> unused argument (to.data.frame = TRUE)
>>
>> What am i doing wrong?
>>
>> [[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.htmland provide commented, minimal, self-contained,
>> reproducible code.
>>
>>
>>
>>
>> [[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.
>>
>> --
>> Michaelhttp://www.dewey.myzen.co.uk/home.html
>>
>>
>>
>>
>
> [[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.
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list