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

Marcio Boareto marcioboareto em gmail.com
Sáb Abr 4 10:16:58 -03 2020


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>
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 <dtiezzi em usp.br>
>
>
>
> On 4 Apr 2020, at 09:02, Marcio Boareto por (R-br) <
> 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
> > 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        *1*249*143*613   *45*213 39*922*710   5*987*873
>  2 CEMIG              *1*682*334*644  *460*219 37*476*802   6*832*546
>  3 CPFL - PAULISTA     497*290*782   *89*879 25*267*579   3*502*793
>  4 COPEL              *1*018*866*491  *224*817 23*525*040   3*628*209
>  5 LIGHT               557*206*112   *58*074 22*902*552   3*640*182
>  6 CELESC              721*455*274  *144*896 18*105*811   2*237*127
>  7 COELBA              436*436*014  *215*001 14*286*757   4*622*046
>  8 ELEKTRO             414*602*018  *107*116 13*398*558   2*123*670
>  9 CPFL - PIRATININGA  195*789*961   *22*236 13*013*378   1*367*488
> 10 BANDEIRANTE         286*832*273   *27*496 12*536*237   1*482*518
> 11 CELPE               350*651*684  *120*428 10*001*560   2*994*259
> 12 AMPLA               436*532*756   *51*050  9*506*961   2*365*558
> 13 CELG                691*472*253  *199*494  9*344*291   2*213*198
> 14 RGE                 186*357*415   *84*997  7*993*103   1*226*079
> 15 COELGE              316*166*876  *120*300  7*929*212   2*744*830
> 16 ESCELSA             241*433*335   *56*960  7*897*969   1*185*432
> 17 AES SUL             206*122*962   *76*133  7*616*460   1*150*518
> 18 CEEE                385*990*997   *71*892  7*277*929   1*438*072
> > 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
> 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.
>
>
>

-- 
*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
*ORCID: **https://orcid.org/0000-0003-0398-8774
<https://orcid.org/0000-0003-0398-8774>*
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200404/ec91d6f8/attachment-0001.html>


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