[R-br] Agregar colunas

Benilton Carvalho beniltoncarvalho em gmail.com
Quarta Abril 18 10:57:27 BRT 2012


tmp = data.frame(x=c('A1', NA, 'A2', NA, 'A3', NA, NA),
y=c(NA, NA, NA, 'A4', NA, 'A5', NA),
z=c(NA, 'A6', NA, NA, NA, NA, 'A7'), stringsAsFactors=FALSE)
tmp[is.na(tmp)]=''
apply(tmp, 1, paste, collapse='', sep='')


2012/4/18 Sérgio Henrique almeida da silva ju <sergio.edfisica em gmail.com>:
> Olá
>
> Estou tentando agregar três colunas em uma, porém quando faço isso os NAs
> também se agregam, como faço para descosiderá-los
>
> Ex:
>
> # Dados
>
> tmp = data.frame(x=c('A1', NA, 'A2', NA, 'A3', NA, NA),
> y=c(NA, NA, NA, 'A4', NA, 'A5', NA),
> z=c(NA, 'A6', NA, NA, NA, NA, 'A7'))
>
> # Agregando com o PASTE
>
> tmp$W <-paste(tmp$x,tmp$y,tmp$z, sep = "")
>
> # Como os dados ficam
> dput(tmp)
>
> structure(list(x = structure(c(1L, NA, 2L, NA, 3L, NA, NA), .Label = c("A1",
> "A2", "A3"), class = "factor"), y = structure(c(NA, NA, NA, 1L,
> NA, 2L, NA), .Label = c("A4", "A5"), class = "factor"), z = structure(c(NA,
> 1L, NA, NA, NA, NA, 2L), .Label = c("A6", "A7"), class = "factor"),
>     W = c("A1NANA", "NANAA6", "A2NANA", "NAA4NA", "A3NANA", "NAA5NA",
>     "NANAA7")), .Names = c("x", "y", "z", "W"), row.names = c(NA,
> -7L), class = "data.frame")
>
> # Gostaria que minha coluna W ficasse assim e não como acima:
>
> W = c("A1", "A6", "A2", "A4", "A3", "A5", "A7")
>
> Como faço
>
>
> Abraços
>
>
>
> --
> Sérgio Henrique Almeida da Silva Junior
> Doutorando em Epidemiologia em Saúde Pública
> Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
> http://lattes.cnpq.br/1611345552843383
> Tel: (21) 94429486/78101651 id: 123*20942
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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.


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