Enviar submissões para a lista de discussão R-br para
r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
corpo da mensagem para
r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será
mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: Modificação da orientação de estrutura de dados
(Leonardo Mancini)
2. Re: Modificação da orientação de estrutura de dados
(Daniel Guimarães Tiezzi)
3. Re: Modificação da orientação de estrutura de dados (Jônatan)
----------------------------------------------------------------------
Message: 1
Date: Thu, 29 Nov 2018 12:04:32 -0200
From: Leonardo Mancini <lmancini@gmail.com>
To: r-br@listas.c3sl.ufpr.br
Subject: Re: [R-br] Modificação da orientação de estrutura de
dados
Message-ID:
<CABAOmR02Yd4XgrYj92r47vpURiiivMDcYNo=sF=G9daTjs9KhQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Paulo,
Certamente há uma maneira mais elegante de fazer isso, mas talvez esse
código te dê alguma pista:
df %>%
spread(CAUSA, CAUSA) %>%
unite(CAUSAS, A, B, C, D, E, F, G, H, I, sep = ",", remove = T) %>%
mutate(CAUSAS = str_remove_all(CAUSAS, ",NA")) %>%
mutate(CAUSAS = str_remove_all(CAUSAS, "NA,"))
Abs
Em qui, 29 de nov de 2018 às 10:30, Paulo Eduardo de Mesquita por (R-br) <
r-br@listas.c3sl.ufpr.br> escreveu:
> Prezado(a)s Colegas
>
> Peço ajuda para um problema simples para o qual não encontro solução.
>
> O código abaixo gera uma estrutura de dados de trabalho:
>
> [image: demo1.png]
>
> Eu quero muda-la para esse formato:
>
> [image: demo2.png]
>
>
> ID <- c(1, 1, 1, 1, 2, 2, 3, 3, 3)
> NOME <- c("xpto", "xpto", "xpto", "xpto", "tpzo", "tpzo", "capr", "capr",
> "capr")
> IDADE <- c(1, 1, 1, 1, 57, 57, 81, 81, 81)
> SEXO <- c("M", "M", "M", "M", "M", "M", "F", "F", "F")
> CAUSA <- c("A", "B", "C", "D", "E", "F","G","H","I")
>
> df <- data.frame(ID, NOME, IDADE, SEXO, CAUSA)
>
> df
>
> Procurei soluções com as com as funções do pacote reshape2 (unmelt e
> dcast) e group_by do dplyr, mas não tive sucesso.
>
> Fico grato por alguma dica.
>
> Muito obrigado pela atenção.
> --
> Paulo Eduardo de Mesquita
> Disciplina de Infectologia - Faculdade de Medicina Universidade do Oeste
> Paulista Presidente Prudente - São Paulo - Brasil
> telefone: 5518 97718261
> _______________________________________________
> 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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181129/7bd3a241/attachment-0001.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: demo1.png
Tipo: image/png
Tamanho: 3960 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181129/7bd3a241/attachment-0002.png>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: demo2.png
Tipo: image/png
Tamanho: 2925 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181129/7bd3a241/attachment-0003.png>
------------------------------
Message: 2
Date: Thu, 29 Nov 2018 12:26:45 -0200
From: Daniel Guimarães Tiezzi <dtiezzi@usp.br>
To: "a lista Brasileira oficial de discussão do programa R."
<r-br@listas.c3sl.ufpr.br>
Cc: Paulo Eduardo de Mesquita <paulomesquita7@gmail.com>
Subject: Re: [R-br] Modificação da orientação de estrutura de
dados
Message-ID: <060B7FE8-BC19-4D9B-8083-07CE255C6617@usp.br>
Content-Type: text/plain; charset="utf-8"
Pode ser que não seja o mais rápido, mas resolve
ID <- c(1, 1, 1, 1, 2, 2, 3, 3, 3)
NOME <- c("xpto", "xpto", "xpto", "xpto", "tpzo", "tpzo", "capr", "capr", "capr")
IDADE <- c(1, 1, 1, 1, 57, 57, 81, 81, 81)
SEXO <- c("M", "M", "M", "M", "M", "M", "F", "F", "F")
CAUSA <- c("A", "B", "C", "D", "E", "F","G","H","I")
df <- data.frame(ID, NOME, IDADE, SEXO, CAUSA)
df
names <- unique(df$NOME)
id_l = list()
nome_l = list()
idade_l = list()
sexo_l = list()
causa_l = list()
for (i in 1:length(names)) {
name = names[i]
block = as.data.frame(df[df$NOME == name, ])
id = block$ID[1]
nome = block$NOME[1]
idade = block$IDADE[1]
sexo = block$SEXO[1]
causa = vector()
for (j in 1:nrow(block)) {
causa = paste0(causa,block$CAUSA[j], sep = ',')
}
print(causa)
id_l[[paste0(i)]] <- id
nome_l[[paste0(i)]] <- nome
idade_l[[paste0(i)]] <- idade
sexo_l[[paste0(i)]] <- sexo
causa_l[[paste0(i)]] <- causa
}
unlist(causa_l)
dfNew <- data.frame(ID = unlist(id_l), NOME= unlist(nome_l), IDADE= unlist(idade_l), SEXO= unlist(sexo_l), CAUSA= unlist(causa_l))
print(dfNew)
Abraço
daniel
Daniel Tiezzi, MD, PhD
Professor Associado
Departamento de Ginecologia e Obstetrícia
Setor de Mastologia e Oncologia Ginecológica
Faculdade de Medicina de Ribeirão Preto - USP
Tel.: 16 3602-2488
e-mail: dtiezzi@fmrp.usp.br
> On Nov 29, 2018, at 10:30 AM, Paulo Eduardo de Mesquita por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
>
> ID <- c(1, 1, 1, 1, 2, 2, 3, 3, 3)
> NOME <- c("xpto", "xpto", "xpto", "xpto", "tpzo", "tpzo", "capr", "capr", "capr")
> IDADE <- c(1, 1, 1, 1, 57, 57, 81, 81, 81)
> SEXO <- c("M", "M", "M", "M", "M", "M", "F", "F", "F")
> CAUSA <- c("A", "B", "C", "D", "E", "F","G","H","I")
>
> df <- data.frame(ID, NOME, IDADE, SEXO, CAUSA)
>
> df
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181129/778f1d5b/attachment-0001.html>
------------------------------
Message: 3
Date: Thu, 29 Nov 2018 14:08:54 -0200
From: Jônatan <jdtatsch@gmail.com>
To: a lista Brasileira oficial de discussão do programa R.
<r-br@listas.c3sl.ufpr.br>
Subject: Re: [R-br] Modificação da orientação de estrutura de
dados
Message-ID:
<CAEiHnvPm3sJcOZSQE1HnNnSrHY=FrYZrwaNCXmw9OLbLmNH6Fw@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Alternativa também com dplyr.
library(dplyr)
df %>%
group_by_at(vars(-CAUSA)) %>%
summarise(CAUSA = paste(CAUSA, collapse = ", "))
On Thu, Nov 29, 2018 at 12:04 PM Leonardo Mancini por (R-br) <
r-br@listas.c3sl.ufpr.br> wrote:
> Paulo,
>
> Certamente há uma maneira mais elegante de fazer isso, mas talvez esse
> código te dê alguma pista:
>
> df %>%
> spread(CAUSA, CAUSA) %>%
> unite(CAUSAS, A, B, C, D, E, F, G, H, I, sep = ",", remove = T) %>%
> mutate(CAUSAS = str_remove_all(CAUSAS, ",NA")) %>%
> mutate(CAUSAS = str_remove_all(CAUSAS, "NA,"))
>
> Abs
>
> Em qui, 29 de nov de 2018 às 10:30, Paulo Eduardo de Mesquita por (R-br) <
> r-br@listas.c3sl.ufpr.br> escreveu:
>
>> Prezado(a)s Colegas
>>
>> Peço ajuda para um problema simples para o qual não encontro solução.
>>
>> O código abaixo gera uma estrutura de dados de trabalho:
>>
>> [image: demo1.png]
>>
>> Eu quero muda-la para esse formato:
>>
>> [image: demo2.png]
>>
>>
>> ID <- c(1, 1, 1, 1, 2, 2, 3, 3, 3)
>> NOME <- c("xpto", "xpto", "xpto", "xpto", "tpzo", "tpzo", "capr", "capr",
>> "capr")
>> IDADE <- c(1, 1, 1, 1, 57, 57, 81, 81, 81)
>> SEXO <- c("M", "M", "M", "M", "M", "M", "F", "F", "F")
>> CAUSA <- c("A", "B", "C", "D", "E", "F","G","H","I")
>>
>> df <- data.frame(ID, NOME, IDADE, SEXO, CAUSA)
>>
>> df
>>
>> Procurei soluções com as com as funções do pacote reshape2 (unmelt e
>> dcast) e group_by do dplyr, mas não tive sucesso.
>>
>> Fico grato por alguma dica.
>>
>> Muito obrigado pela atenção.
>> --
>> Paulo Eduardo de Mesquita
>> Disciplina de Infectologia - Faculdade de Medicina Universidade do Oeste
>> Paulista Presidente Prudente - São Paulo - Brasil
>> telefone: 5518 97718261
>> _______________________________________________
>> 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.
>
> _______________________________________________
> 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.
--
###############################################################
## Jônatan Dupont Tatsch
## Professor do Departamento de Física
## Centro de Ciências Exatas e Naturais (CCNE)
## Universidade Federal de Santa Maria - UFSM
## Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil -
97105-900
## Telefone: +55(55)33012083
## www.ufsm.br/meteorologia
###############################################################
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181129/c0417ec9/attachment-0001.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: demo1.png
Tipo: image/png
Tamanho: 3960 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181129/c0417ec9/attachment-0002.png>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: demo2.png
Tipo: image/png
Tamanho: 2925 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181129/c0417ec9/attachment-0003.png>
------------------------------
Subject: Legenda do Digest
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
------------------------------
Fim da Digest R-br, volume 95, assunto 23
*****************************************