[R-br] RES: SOMAR LINHAS

Leonard de Assis assis.leonard em gmail.com
Segunda Maio 8 09:10:26 BRT 2017


Falta um ‘)’ no ‘for(i in ...’

 

De: R-br [mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Mauro Sznelwar via R-br
Enviada em: domingo, 7 de maio de 2017 13:16
Para: nandodesouza em gmail.com; r-br em listas.c3sl.ufpr.br
Assunto: Re: [R-br] SOMAR LINHAS

 

Tentei rodar e não consegui:

 

> dados <- transform(dados,id=factor(id),evento1=factor(evento1),nomes=factor(nomes))

> 

> adicLinha <- function(x) {

+     soma<-numeric()

+     for(i in 1:ncol(x){

Erro: '{' inesperado in:

"    soma<-numeric()

    for(i in 1:ncol(x){"

>         

 

 

 

Utilizando os dados organizados pelo Rodrigo. Segue a minha solução para seu problema de forma reproduzível.

Abraço a todos


dados <- structure(list(id = c(49L, 49L, 49L, 64L, 64L, 64L, 23L, 23L, 23L, 23L), evento1 = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 3L), .Label = c("A", "D", "E"), class = "factor"), nomes = structure(c(3L, 3L, 3L, 2L, 2L, 2L, 1L, 1L, 1L, 1L), .Label = c("Anicuns", "Goiânia", "Santo Antônio do Descoberto"), class = "factor"), cons_jan_15 = c(9033.36, NA, NA, NA, NA, 4091.54, 6833.28, NA, NA, NA), valor_jan_15 = c(4848.67, NA, NA, NA, NA, 3076.74, 3772.8, NA, NA, NA), cons_fev_15 = c(13131.13, NA, NA, NA, NA, 5482.15, 8706.81, NA, NA, NA), valor_fev_15 = c(4320.57, NA, NA, NA, NA, 2243.94, 2961.72, NA, NA, NA), cons_mar_15 = c(8121.07, NA, NA, NA, NA, 3380.04, 5524.23, NA, NA, NA), valor_mar_15 = c(4410.8, NA, NA, NA, NA, 2033.13, 3285.14, NA, NA, NA), cons_abr_15 = c(8562.85, NA, NA, NA, NA, 3003.66, 6157.68, NA, NA, NA), valor_abr_15 = c(6241.59, NA, NA, NA, NA, 2250.64, 4381.01, NA, NA, NA), cons_mai_15 = c(8261.5, NA, NA, NA, NA, 3601.44, 5997.78, NA, NA, NA), valor_mai_15 = c(5586.92, NA, NA, NA, NA, 2550.23, 4178.95, NA, NA, NA)), .Names = c("id", "evento1", "nomes", "cons_jan_15", "valor_jan_15", "cons_fev_15", "valor_fev_15", "cons_mar_15", "valor_mar_15", "cons_abr_15", "valor_abr_15", "cons_mai_15", "valor_mai_15"), class = "data.frame", row.names = c(NA, -10L))

install.package("plyr")


library(plyr)

dados <- transform(dados,id=factor(id),evento1=factor(evento1),nomes=factor(nomes))

adicLinha <- function(x) {
    soma<-numeric()
    for(i in 1:ncol(x){
        
        if(is.numeric(x[,i])){

            soma[i] <-sum(x[,i],na.rm=TRUE)

            
        }
             
        
    }
     return(rbind(x,soma)) 
    }
    
ddply(dados,.(id,evento1,nomes),adicLinha)



 

Em 3 de maio de 2017 14:03, jose gomes de souza filho Gomes via R-br <r-br em listas.c3sl.ufpr.br> escreveu:

Boa Tarde,

Tenho a seguinte base ( uma parte, são várias linhas):

bd<-"id;evento1;nomes;cons_jan_15    ;valor_jan_15;cons_fev_15;valor_fev_15;cons_mar_15;valor_mar_15    ;cons_abr_15;valor_abr_15;cons_mai_15;valor_mai_15
49;A;Santo Antônio do Descoberto;9033.36;4848.67;13131.13;4320.57;8121.07;4410.8;8562.85;6241.59;8261.5;5586.92
49;A;Santo Antônio do Descoberto;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA
49;A;Santo Antônio do Descoberto;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA
64;D;Goiânia;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA
64;D;Goiânia;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA
64;D;Goiânia;4091.54;3076.74;5482.15;2243.94;3380.04;2033.13;3003.66;2250.64;3601.44;2550.23
23;E;Anicuns;6833.28;3772.8;8706.81;2961.72;5524.23;3285.14;6157.68;4381.01;5997.78;4178.95
23;E;Anicuns;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA
23;E;Anicuns;NA;NA    ;NA;NA;NA;NA;NA;NA;NA;NA
23;E;Anicuns;NA;NA    ;NA;NA;NA;NA;NA;NA;NA;NA"
dads <- read.table(header = TRUE, text=bd, sep=";")
dads

Quero somar as linhas, de modo que:


id

evento1

nomes

cons_jan_15

valor_jan_15

cons_fev_15

valor_fev_15

cons_mar_15

valor_mar_15

cons_abr_15

valor_abr_15

cons_mai_15

valor_mai_15


49

A

Santo Antônio do Descoberto

9033,36

4848,67

13131,13

4320,57

8121,07

4410,8

8562,85

6241,59

8261,5

5586,92


49

A

Santo Antônio do Descoberto

0

0

0

0

0

0

0

0

0

0


49

A

Santo Antônio do Descoberto

0

0

0

0

0

0

0

0

0

0


49

A

Santo Antônio do Descoberto

9033,36

4848,67

13131,13

4320,57

8121,07

4410,8

8562,85

6241,59

8261,5

5586,92


64

D

 Goiânia

0

0

0

0

0

0

0

0

0

0


64

D

 Goiânia

0

0

0

0

0

0

0

0

0

0


64

D

 Goiânia

4091,54

3076,74

5482,15

2243,94

3380,04

2033,13

3003,66

2250,64

3601,44

2550,23


64

D

 Goiânia

4091,54

3076,74

5482,15

2243,94

3380,04

2033,13

3003,66

2250,64

3601,44

2550,23


23

E

Anicuns

6833,28

3772,8

8706,81

2961,72

5524,23

3285,14

6157,68

4381,01

5997,78

4178,95


23

E

Anicuns

0

0

0

0

0

0

0

0

0

0


23

E

Anicuns

0

0

0

0

0

0

0

0

0

0


23

E

Anicuns

0

0

0

0

0

0

0

0

0

0


23

E

Anicuns

6833,28

3772,8

8706,81

2961,72

5524,23

3285,14

6157,68

4381,01

5997,78

4178,95

 

Obrigado pela ajuda,



 

 


_______________________________________________

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170508/d9d09e3e/attachment.html>


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