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: dtie...@usp.br

UTILITY,OPEX,NETWORK,MWH,CUSTOMERS
ELETROPAULO,1249143613,45213,39922710,5987873
CEMIG,1682334644,460219,37476802,6832546
CPFL - PAULISTA,497290782,89879,25267579,3502793
COPEL,1018866491,224817,23525040,3628209
LIGHT,557206112,58074,22902552,3640182
CELESC,721455274,144896,18105811,2237127
COELBA,436436014,215001,14286757,4622046
ELEKTRO,414602018,107116,13398558,2123670
CPFL - PIRATININGA,195789961,22236,13013378,1367488
BANDEIRANTE,286832273,27496,12536237,1482518
CELPE,350651684,120428,10001560,2994259
AMPLA ,436532756,51050,9506961,2365558
CELG,691472253,199494,9344291,2213198
RGE,186357415,84997,7993103,1226079
COELGE,316166876,120300,7929212,2744830
ESCELSA,241433335,56960,7897969,1185432
AES SUL,206122962,76133,7616460,1150518
CEEE,385990997,71892,7277929,1438072
,efficiency,OPEX,NETWORK,MWH,CUSTOMERS
ELETROPAULO,0.582702160219746,8.00548463437566e-10,0,6.07395880032605e-09,5.68170474695073e-08
CEMIG,0.579460002950355,5.94412059197896e-10,9.73842308950432e-07,3.50294748648767e-09,0
CPFL - PAULISTA,0.885425355445038,2.01089591079531e-09,0,1.52571636468669e-08,1.42718615596725e-07
COPEL,0.518585845612499,9.81482862409693e-10,7.95215875183559e-07,1.11913478098211e-08,2.10932979112844e-08
LIGHT,0.775513182914848,1.79466803838648e-09,0,1.36165894049856e-08,1.27372350065056e-07
CELESC,0.523933704627908,1.38608730996677e-09,1.28427173753081e-06,1.86596373366895e-08,0
COELBA,1,2.2912866214565e-09,1.85644351599217e-06,2.61263711215018e-08,4.92426237457295e-08
ELEKTRO,0.687899797015152,2.4119515983639e-09,1.95420854978995e-06,2.75022522262614e-08,5.1835865464813e-08
CPFL - PIRATININGA,1,5.1075141692275e-09,0,7.6843998537505e-08,0
BANDEIRANTE,0.698435209239925,3.48635803614749e-09,0,2.64518589965378e-08,2.47436075493684e-07
CELPE,0.822453789752441,2.85183287469967e-09,0,2.16375599697745e-08,2.02402142052889e-07
AMPLA ,0.549836366531714,2.29077883905693e-09,0,1.73807045101844e-08,1.62582649252678e-07
CELG,0.585646000112081,1.44618962751062e-09,2.93565721331008e-06,0,0
RGE,1,5.36603279241666e-09,8.7913252828725e-06,3.16227283611492e-08,0
COELGE,0.819757504246328,3.16288667760376e-09,0,0,2.98655109513641e-07
ESCELSA,0.669679648162759,4.14193011085234e-09,3.35586967862481e-06,4.72283136566579e-08,8.9015273829059e-08
AES SUL,0.840551995561318,4.85147307363068e-09,3.93075473239011e-06,5.53188696781534e-08,1.04264242168652e-07
CEEE,0.445970839971134,2.59073400097982e-09,2.09906141498882e-06,2.95408166542106e-08,5.56781235664104e-08

Attachment: planilha.R
Description: Binary data




On 4 Apr 2020, at 10:31, Marcio Boareto <marcioboar...@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 <dtie...@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, <marcioboar...@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 <dtie...@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: dtie...@usp.br



On 4 Apr 2020, at 09:02, Marcio Boareto por (R-br) <r-br@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        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@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




--
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


<resultscrs.xlsx><script -seget.R><dados.xlsx><44218525.pdf><script.docx>

_______________________________________________
R-br mailing list
R-br@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.

Responder a