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; > 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, > > > > > > > _______________________________________________ > 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. > -- ========================================= Fernando Souza Zootecnista, DSc. Produção e Alimentação Animal Celular: (31)99796-8781 (Vivo) E-mail:nandodeso...@gmail.com <e-mail%3anandodeso...@gmail.com> Lattes: http://lattes.cnpq.br/6519538815038307 Blog: https://producaoanimalcomr.wordpress.com/ ==========================================
_______________________________________________ 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.