[R] Loop over folder files

ruipbarradas at sapo.pt ruipbarradas at sapo.pt
Tue Aug 23 22:08:24 CEST 2016


Or maybe a print() statement on the table() in the loop.

print(table(...))

Rui Barradas
 

Citando David Winsemius <dwinsemius at comcast.net>:

>> 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 WinsemiusAlameda, CA, USA

 

	[[alternative HTML version deleted]]



More information about the R-help mailing list