Eu não conheço o Windows, mas não seria uma incompatibilidade do diretório HOME?
Daniel > On 19 May 2020, at 21:26, Mauro Sznelwar por (R-br) > <[email protected]> wrote: > > Não consegui rodar,alguém explica o motivo? > > dir.create('~/Downloads/bancosex/') > > Warning message: > In dir.create("~/Downloads/bancosex/") : > não foi possível criar o diretório > 'C:\Users\Mauro\Documents\Downloads\bancosex', motivo 'No such file or > directory' > > > > Uma pequena correção. > > Considere esse código aqui. > > att > > dir.create('~/Downloads/bancosex/') > banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) > write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) > banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) > write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) > banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) > write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) > > importaBD <-function(dir,nameBD){ > > lista<- vector(mode = "list", length =length(nameBD)) > > setwd(dir) > > for(i in 1:length(nameBD)){ > > lista[i]<-list.files(path=dir,pattern=nameBD[i]) > > } > > arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) > > > do.call("rbind",arquivos) > > } > > Exemplo de uso > > importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) > Nome Idade Salario > 1 Diogo 42 5000 > 2 Patrícia 40 7000 > 3 João 41 8000 > 4 Alexandre 40 9000 > > > importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco3.csv","banco2.csv")) > Nome Idade Salario > 1 Angélica 40 9500 > 2 Nádia 38 7500 > 3 João 41 8000 > 4 Alexandre 40 9000 > > On May 18 2020, at 11:24 pm, Fernando Souza <[email protected]> wrote: > Diogo, > Segue minha solução a seu problema. Faça as adaptações necessárias. > > Fiz algumas alterações em seu código para tornar a saídas mais legíveis. > > > dir.create('~/Downloads/bancosex/') > banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) > write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) > banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) > write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) > banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) > write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) > > ## dir= uma string com o path para o diretório > ## nameBD= um vetor string com os nomes completos dos arquivos (p.ex > "meuarquivo.csv") > > importaBD <-function(dir, nameBD){ > > lista<- vector(mode = "list", length =length(nameBD)) > > setwd(dir) > > for(i in 1:length(nameBD)){ > > lista[[i]]<-list.files(path=dir,pattern=nameBD) > > } > > arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) > > dados<-do.call("rbind",arquivos) > > print(dados) > > } > > importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) > > Nome Idade Salario > 1 Diogo 42 5000 > 2 Patrícia 40 7000 > 3 Diogo 42 5000 > 4 Patrícia 40 7000 > > att > > Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) > <[email protected] > <x-msg://35/undefined//[email protected]>> escreveu: > Oi Daniel, boa noite. > > Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados > trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, > bases que vem desde 2006 até 2020!!! > > Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo > gestor ao longo dos anos (códigos adicionais, dado de alteração de um > serviço...), e isso cria conflito se eu juntar as bases com número de colunas > diferentes pelo "rbind". > > No meu caso, um período em que tenho dados uniformes (sem alteração do número > de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar > as outras bases (por motivos de segurança). Assim, eu teria de escolher > somente as bases dos trimestres dos anos que me interessam (2017 > trim1,...,2018 trim4) para processar a análise estatística de interesse. > > Não sei se consegui ser claro, mas é isso. > > Obrigado!!! > > Diogo Jerônimo > Bacharel em Ciências Estatísticas - ENCE/IBGE > Mestre em Metrologia - PUC-Rio/PósMQI > CONRE: 8514 - SÉRIE A > > Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi > por (R-br) <[email protected] > <x-msg://35/undefined//[email protected]>> escreveu: > > > Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu > objeto listas. > > Daniel > > On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), > <[email protected] > <x-msg://35/undefined//[email protected]>> wrote: > Tem o data set para rodar? > > > > > Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. > Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei > o lapply e o do.call para importar e juntar esses bancos: > > dir.create('c:/users/diogo/desktop/bancosex/') > banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000))) > write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) > banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000))) > write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) > banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500))) > write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE) > > setwd('c:/users/diogo/desktop/bancosex/') > lista<-list.files() > arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) > dados<-do.call("rbind", arquivos) > > Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de > importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: > apenas banco1 e banco2, apenas banco2 e banco3...). > > Alguém saberia como fazer isso? > > Obrigado!!! > > Diogo Jerônimo > Bacharel em Ciências Estatísticas - ENCE/IBGE > Mestre em Metrologia - PUC-Rio/PósMQI > CONRE: 8514 - SÉRIE A > _______________________________________________ > _______________________________________________ > R-br mailing list > [email protected] > <x-msg://35/undefined//[email protected]> > > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > <https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia > <http://www.leg.ufpr.br/r-br-guia>) e forneça código mínimo reproduzível. > _______________________________________________ > R-br mailing list > [email protected] > <x-msg://35/undefined//[email protected]> > > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > <https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia > <http://www.leg.ufpr.br/r-br-guia>) e forneça código mínimo reproduzível. > _______________________________________________ > R-br mailing list > [email protected] > <x-msg://35/undefined//[email protected]> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > <https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia > <http://www.leg.ufpr.br/r-br-guia>) e forneça código mínimo reproduzível. > > > -- > > > Lattes: http://lattes.cnpq.br/6519538815038307 > <https://link.getmailspring.com/link/[email protected]/0?redirect=http%3A%2F%2Flattes.cnpq.br%2F6519538815038307&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy> > Blog: https://producaoanimalcomr.wordpress.com/ > <https://link.getmailspring.com/link/[email protected]/1?redirect=https%3A%2F%2Fproducaoanimalcomr.wordpress.com%2F&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy> > ========================================== > _______________________________________________ > R-br mailing list > [email protected] > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > <https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia > <http://www.leg.ufpr.br/r-br-guia>) e forneça código mínimo reproduzível. > > _______________________________________________ > R-br mailing list > [email protected] > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código > mínimo reproduzível.
_______________________________________________ R-br mailing list [email protected] https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
