[R-br] Subscribe - Erro ao exportar Dados para o Excel

Daniel Guimarães Tiezzi dtiezzi em usp.br
Sáb Abr 4 11:02:11 -03 2020


Bom dia Marcio

Segue o código e a planilha final.

Eu só converti a sua table dados para o formato CSV pois não tenho instalado o pacote xlsx. Eu fiz isso no Excel mesmo.

Veja se ficou OK.

Daniel


Daniel Tiezzi, MD, PhD
Oncologia / Mastologia
Professor Associado - Livre Docente
Departamento de Ginecologia e Obstetrícia
Setor de Mastologia e Oncologia Ginecológica
Faculdade de Medicina de Ribeirão Preto - USP
Tel.: 16 3602-2488
e-mail:  <mailto:dtiezzi em usp.br>dtiezzi em usp.br <mailto:dtiezzi em usp.br>





> On 4 Apr 2020, at 10:31, Marcio Boareto <marcioboareto em gmail.com> wrote:
> 
> Prezado Prof Daniel
> 
> 
> Ficaria muito agradecido se puder me ajudar. 
> Segue a planilha "dados", os resultados, o artigo e o script do R studio, se tiver como reproduzir.
> 
> O artigo onde estou tentando reproduzir o modelo (está dando erro, pois o pacote de leitura da planilha foi descontinuado (xlsReadWrite) e estou tentando utilizar outro pacote para exportar o modelo para uma planilha.
> 
> 
> 
> 
> Desde já agradeço vossa atenção.
> 
> 
> 
> 
> Em sáb., 4 de abr. de 2020 às 10:22, Daniel Guimarães Tiezzi <dtiezzi em usp.br <mailto:dtiezzi em usp.br>> escreveu:
> Ok, seria melhor VC enviar parte da sua planilha para podemos reproduzir o erro e resolver para VC.
> 
> 
> On Sat, 4 Apr 2020, 10:17 Marcio Boareto, <marcioboareto em gmail.com <mailto:marcioboareto em gmail.com>> wrote:
> Bom dia
> 
> Prezado Prof Daniel
> 
> Não consegui resolver e o erro ainda persiste. Estou aprendo recentemente a usar o R para cálculo de eficiência em análise envoltória de dados, estou com dificuldades em exportar os resultados para uma planilha.
> 
> Muito obrigado pela ajuda!
> 
> Em sáb., 4 de abr. de 2020 às 09:49, Daniel Guimarães Tiezzi <dtiezzi em usp.br <mailto:dtiezzi em usp.br>> escreveu:
> Bom dia
> 
> O erro gerado diz que a dimensão do objeto que você está tentando inserir como rownames do seu dataframe são diferentes.
> 
> Verifique isso:
> 
> > dim(planilha)[1]
> > length(dados [ ,1])
> 
> Esses valoras devem ser iguais.
> 
> Daniel
> 
>  
> 
> Daniel Tiezzi, MD, PhD
> Oncologia / Mastologia
> Professor Associado - Livre Docente
> Departamento de Ginecologia e Obstetrícia
> Setor de Mastologia e Oncologia Ginecológica
> Faculdade de Medicina de Ribeirão Preto - USP
> Tel.: 16 3602-2488
> e-mail: dtiezzi em usp.br <mailto:dtiezzi em usp.br>
> 
> 
> 
>> On 4 Apr 2020, at 09:02, Marcio Boareto por (R-br) <r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br>> wrote:
>> 
>> Bom dia
>> 
>> Preciso gerar uma planilha em excel dos dados gerados no modelo, porém está dando erro ao tentar colocar o nome das empresas na coluna 1 da planilha, segue o script: está dando erro no comando rownames
>> 
>> #modelo retirado do artigo disponível em: https://www.aedb.br/seget/arquivos/artigos13/44218525.pdf <https://www.aedb.br/seget/arquivos/artigos13/44218525.pdf>
>> > require(lpSolve) # carrega pacote lpSolve previamente instalado
>> Carregando pacotes exigidos: lpSolve
>> > require(xlsx) # carrega pacote xlsReadWrite previamente instalado
>> Carregando pacotes exigidos: xlsx
>> > setwd('c:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R') # define o diretório de trabalho
>> > library(readxl)
>> > library(openxlsx)
>>  
>> Attaching package: ‘openxlsx’
>>  
>> The following objects are masked from ‘package:xlsx’:
>>  
>>     createWorkbook, loadWorkbook, read.xlsx, saveWorkbook, write.xlsx
>>  
>> > library(xlsx)
>> > dados <- read_excel("C:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R/dados.xlsx", col_names=TRUE)
>> > View(dados)
>> > dados
>> # A tibble: 18 x 5
>>    UTILITY                  OPEX NETWORK      MWH CUSTOMERS
>>    <chr>                   <dbl>   <dbl>    <dbl>     <dbl>
>>  1 ELETROPAULO        1249143613   45213 39922710   5987873
>>  2 CEMIG              1682334644  460219 37476802   6832546
>>  3 CPFL - PAULISTA     497290782   89879 25267579   3502793
>>  4 COPEL              1018866491  224817 23525040   3628209
>>  5 LIGHT               557206112   58074 22902552   3640182
>>  6 CELESC              721455274  144896 18105811   2237127
>>  7 COELBA              436436014  215001 14286757   4622046
>>  8 ELEKTRO             414602018  107116 13398558   2123670
>>  9 CPFL - PIRATININGA  195789961   22236 13013378   1367488
>> 10 BANDEIRANTE         286832273   27496 12536237   1482518
>> 11 CELPE               350651684  120428 10001560   2994259
>> 12 AMPLA               436532756   51050  9506961   2365558
>> 13 CELG                691472253  199494  9344291   2213198
>> 14 RGE                 186357415   84997  7993103   1226079
>> 15 COELGE              316166876  120300  7929212   2744830
>> 16 ESCELSA             241433335   56960  7897969   1185432
>> 17 AES SUL             206122962   76133  7616460   1150518
>> 18 CEEE                385990997   71892  7277929   1438072
>> > inputs<- data.frame(dados[,2]) # seleciona coluna 2 do objeto data
>> > outputs <- data.frame(dados[,c(3,4,5)]) # seleciona colunas 3, 4 e 5 do objeto data
>> > N<- dim(dados)[1] # número de DMUs
>> > s <- dim(inputs)[2] # número de inputs
>> > m <- dim(outputs)[2] # número de outputs
>> > f.rhs <- c(rep(0,1,N),1) # RHS
>> > f.dir <- c(rep("<=",1,N),"=") # direção das restrições
>> > aux <- cbind(-1*inputs,outputs) # matriz com os coeficientes tecnológicos em (6)
>> > for (i in 1:N) {
>> +   f.obj <- c(0*rep(1,s),as.numeric(outputs[i,])) # coeficientes da função objetivo
>> +   f.con <- rbind(aux ,c(as.numeric(inputs[i,]), + rep(0,1,m))) # adiciona a restrição bTz=1
>> +   results <- lp("max",as.numeric(f.obj),f.con,f.dir,f.rhs,scale=1,compute.sens=TRUE) # resolve PPL
>> +   multipliers <- results$solution # multiplicadores
>> +   efficiency <- results$objval # indices de eficiência
>> +   duals <- results$duals # ???
>> +   if (i==1) {
>> +     weights <- multipliers
>> +     effcrs <- efficiency
>> +     lambdas <- duals [seq(1,N)]
>> +   } else {
>> +     weights <- rbind(weights,multipliers)
>> +     effcrs <- rbind(effcrs , efficiency)
>> +     lambdas <- rbind(lambdas,duals[seq(1,N)])
>> +   }
>> + }
>> > ###################################################################
>> > planilha <- cbind(effcrs,weights)
>> > #ESSA PARTE NÃO ESTÁ FUNCIONANDO###################################
>> > rownames(planilha) <- dados [,1] # nomeas das linhas (empresas)
>> Error in dimnames(x) <- dn :
>>   comprimento de 'dimnames' [1] não é igual ao tamanho do array
>> 
>> Segue a planilha gerada, na coluna A preciso constar os nomes da coluna A (UTILITY)
>> efficiency	OPEX	NETWORK	MWH	CUSTOMERS
>> effcrs	0,58270216	8,00548E-10	0	6,07396E-09	5,6817E-08
>> efficiency	0,579460003	5,94412E-10	9,73842E-07	3,50295E-09	0
>> efficiency.1	0,885425355	2,0109E-09	0	1,52572E-08	1,42719E-07
>> efficiency.2	0,518585846	9,81483E-10	7,95216E-07	1,11913E-08	2,10933E-08
>> efficiency.3	0,775513183	1,79467E-09	0	1,36166E-08	1,27372E-07
>> efficiency.4	0,523933705	1,38609E-09	1,28427E-06	1,86596E-08	0
>> efficiency.5	1	2,29129E-09	1,85644E-06	2,61264E-08	4,92426E-08
>> efficiency.6	0,687899797	2,41195E-09	1,95421E-06	2,75023E-08	5,18359E-08
>> efficiency.7	1	5,10751E-09	0	7,6844E-08	0
>> efficiency.8	0,698435209	3,48636E-09	0	2,64519E-08	2,47436E-07
>> efficiency.9	0,82245379	2,85183E-09	0	2,16376E-08	2,02402E-07
>> efficiency.10	0,549836367	2,29078E-09	0	1,73807E-08	1,62583E-07
>> efficiency.11	0,585646	1,44619E-09	2,93566E-06	0	0
>> efficiency.12	1	5,36603E-09	8,79133E-06	3,16227E-08	0
>> efficiency.13	0,819757504	3,16289E-09	0	0	2,98655E-07
>> efficiency.14	0,669679648	4,14193E-09	3,35587E-06	4,72283E-08	8,90153E-08
>> efficiency.15	0,840551996	4,85147E-09	3,93075E-06	5,53189E-08	1,04264E-07
>> efficiency.16	0,44597084	2,59073E-09	2,09906E-06	2,95408E-08	5,56781E-08
>> 
>> Se puderem ajudar, fico agradecido.
>> Atenciosamente
>> 
>> Márcio Boareto
>> >
>> 
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>> 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.
> 
> 
> 
> -- 
> Márcio Boareto
> Administrador
> CRA-GO 15993
> Mestre em Gestão Organizacional pela UFG Catalão.
> Especialista em Gestão Financeira e Controladoria - UFG Catalão
> Graduado em Administração de Empresas - UFG Catalão
> 64 98137-9049 whatsapp
> Lattes:http://lattes.cnpq.br/8524063708922235 <http://lattes.cnpq.br/8524063708922235>
> ORCID: https://orcid.org/0000-0003-0398-8774 <https://orcid.org/0000-0003-0398-8774>
> 
> 
> 
> 
> -- 
> Márcio Boareto
> Administrador
> CRA-GO 15993
> Mestre em Gestão Organizacional pela UFG Catalão.
> Especialista em Gestão Financeira e Controladoria - UFG Catalão
> Graduado em Administração de Empresas - UFG Catalão
> 64 98137-9049 whatsapp
> Lattes:http://lattes.cnpq.br/8524063708922235 <http://lattes.cnpq.br/8524063708922235>
> ORCID: https://orcid.org/0000-0003-0398-8774 <https://orcid.org/0000-0003-0398-8774>
> 
> 
> <resultscrs.xlsx><script -seget.R><dados.xlsx><44218525.pdf><script.docx>

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/64dd66df/attachment.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: dados.csv
Tipo: text/csv
Tamanho: 799 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/64dd66df/attachment.csv>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/64dd66df/attachment-0001.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: Planilha.csv
Tipo: text/csv
Tamanho: 1684 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/64dd66df/attachment-0001.csv>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/64dd66df/attachment-0002.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: planilha.R
Tipo: application/octet-stream
Tamanho: 1350 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/64dd66df/attachment.obj>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/64dd66df/attachment-0003.html>


Mais detalhes sobre a lista de discussão R-br