Re: [R-br] SOMAR LINHAS

Falta um ‘)’ no ‘for(i in ...’ De: R-br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Mauro Sznelwar via R-br Enviada em: domingo, 7 de maio de 2017 13:16 Para: nandodesouza@gmail.com; r-br@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@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, _______________________________________________
participantes (2)
-
Leonard de Assis
-
sznelwar@uol.com.br