A disposiçãoMas aqui, funcionou perfeitamenteSe puder gravar sua tela , como fiz, e enviar podemos tentar ver o que está acontecendo.O erro está indicando um colchete ({), de uma olhada se ao copiar e colar o último colchete, foi copiado.Estranho Mauro, porque aqui funcionou completamenteEnviou um vídeo (anexo) para comprovação--Em 7 de maio de 2017 13:15, <sznelwar@uol.com.br> escreveu: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@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;valo r_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=";")
dadsQuero 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,
_______________________________________________ =========================================
Fernando Souza
Zootecnista, DSc. Produção e Alimentação Animal
Celular: (31)99796-8781 (Vivo)
E-mail:nandodesouza@gmail.com
Lattes: http://lattes.cnpq.br/6519538815038307
Blog: https://producaoanimalcomr.wordpress.com/
==========================================