Comparar elementos em 2 dataframes

Boa tarde, Alguma dica para iniciante no R, para se obter o seguinte. Tenho 2 tabelas (dataframes) com várias linhas e várias colunas, em cada célula dessas tabelas está um valor (cada valor é único, mas pode estar repetido ou não na tabela 2), quero obter uma 3.ª tabela (dataframe) onde conste cada valor da tabela 1 que não esteja presente na Tabela 2. Obrigado! Sérgio ________________________________________________________________________________

Sérgio, Submeta um exemplo mínimo reproduzível para abrir caminho e estimular a submissão de soluções. À disposição. Walmes.

Olá, Vou tentar descrever melhor a situação. 1- Tenho uma "dataframe A", com 11 linhas (observações:individuos) e 7000 colunas (variáveis: genes); dentro de cada célula dessa dataframe está o código numérico dos genes, ex:(1234). ------------------------- 1 | 2 | 3 | 4...... 1 Nome A | B | C | D 2 ind1 1234 | 3492 | 3 indi2 4 ind3 Função a Função b Função c Linhas a adicionar com as respostas Função d 2 - e depois tenho vários vetores de tamanhos diferentes, cada vetor representa o conjunto de genes que desempenham uma dada função. função a: V1<- c(1234, 3492, ...) função b: V2<- c(3251, 792315, ....) ... ... De forma automática: 3 - Gostaria de saber se todos os genes da dataframe A estão presentes ou não nas funções a e b, c, d. 4 - e de adicionar linhas (de cada função), com as respostas obtidas, à "dataframe A", colocando-se um "1" na coluna de cada gene que esteja presente nos vetores, e um "0" se os genes não estiverem presentes. Obrigado! Sérgio Citando Walmes Zeviani <walmeszeviani@gmail.com>:
Sérgio, Submeta um exemplo mínimo reproduzível para abrir caminho e estimular a submissão de soluções. À disposição. Walmes.
________________________________________________________________________________

Sergio, A forma como descreve seu problema não é reproduzível. Para que possamos lhe ajudar você deve enviar um CMR (Código Mínimo Reproduzível) para que possamos recriar a sua situação em nosso computador. Lembre que você poderá obter ajuda de pessoas que não sabem nada sob a sua área de pesquisa assim é importante que você seja claro no que deseja e nas definições de seus dados. Tente criar um banco de dados pequeno que represente a sua dúvida. Pode ser com poucas colunas(5,6,10) e linhas (11,20). Depois no R faça um dput (Seusdados), copie a saída e cole no email que irá enviar na lista. Crie também exemplos dos vetores que possui. Descreva bem o que são as sua variáveis. Para mim por exemplo não está muito claro o que são essas funções. Teremos prazer em lhe ajudar. att On Dec 5 2019, at 9:25 pm, sérgio marques por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Olá,
Vou tentar descrever melhor a situação. 1- Tenho uma "dataframe A", com 11 linhas (observações:individuos) e 7000 colunas (variáveis: genes); dentro de cada célula dessa dataframe está o código numérico dos genes, ex:(1234). ------------------------- 1 | 2 | 3 | 4...... 1 Nome A | B | C | D 2 ind1 1234 | 3492 | 3 indi2 4 ind3 Função a Função b Função c Linhas a adicionar com as respostas Função d
2 - e depois tenho vários vetores de tamanhos diferentes, cada vetor representa o conjunto de genes que desempenham uma dada função. função a: V1<- c(1234, 3492, ...) função b: V2<- c(3251, 792315, ....) ... ...
De forma automática: 3 - Gostaria de saber se todos os genes da dataframe A estão presentes ou não nas funções a e b, c, d. 4 - e de adicionar linhas (de cada função), com as respostas obtidas, à "dataframe A", colocando-se um "1" na coluna de cada gene que esteja presente nos vetores, e um "0" se os genes não estiverem presentes.
Obrigado! Sérgio
Citando Walmes Zeviani <walmeszeviani@gmail.com (mailto:walmeszeviani@gmail.com)>:
Sérgio,
Submeta um exemplo mínimo reproduzível para abrir caminho e estimular a submissão de soluções.
À disposição. Walmes.
________________________________________________________________________________ Mensagem enviada através do email grátis do AEIOU (http:/www.aeiou.pt/)
_______________________________________________ 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.

Sérgio, Como você já recebeu a informação mais relevante (vc falhou em enviar um CMR [veja o rodapé automaticamente inserido nas msg deste grupo com instruções de como fazê-lo]), gostaria de tentar ajudar de forma paralela: A descrição do seu problema parece-me centrada num domínio de problema para o qual o R tem dezenas de pacotes que tratam ou especificamente ou de maneira ancilar, e podem ser pesquisados nas, assim denominadas *Tasks Views* no repositório do R CRAN, não me debrucei sobre o assunto, mas penso que um primeiro grupo de pacotes a examinar poderiam ser: CRAN Task View Phylogenetics <https://cran.r-project.org/web/views/Phylogenetics.html> e CRAN Task View Genetics <https://cran.r-project.org/web/views/Genetics.html>. Voltando à raiz do repostiório CRAN você pode ver outras "vistas" que podem lhe interessar. Em relação à sua consulta específica, a descrição do problema parece-me ser resolvível pelo uso de teste de intersecção de conjuntos, por isso recomendo-lhe que você veja o manual para essas operações também. HTH -- Cesar Rabak On Thu, Dec 5, 2019 at 8:26 PM sérgio marques por (R-br) < r-br@listas.c3sl.ufpr.br> wrote:
Olá,
Vou tentar descrever melhor a situação.
1- Tenho uma "dataframe A", com 11 linhas (observações:individuos) e 7000 colunas (variáveis: genes); dentro de cada célula dessa dataframe está o código numérico dos genes, ex:(1234).
------------------------- 1 | 2 | 3 | 4...... 1 Nome A | B | C | D 2 ind1 1234 | 3492 | 3 indi2 4 ind3 Função a Função b Função c Linhas a adicionar com as respostas Função d
2 - e depois tenho vários vetores de tamanhos diferentes, cada vetor representa o conjunto de genes que desempenham uma dada função.
função a: V1<- c(1234, 3492, ...) função b: V2<- c(3251, 792315, ....) ... ...
De forma automática: 3 - Gostaria de saber se todos os genes da dataframe A estão presentes ou não nas funções a e b, c, d. 4 - e de adicionar linhas (de cada função), com as respostas obtidas, à "dataframe A", colocando-se um "1" na coluna de cada gene que esteja presente nos vetores, e um "0" se os genes não estiverem presentes.
Obrigado! Sérgio
Citando Walmes Zeviani <walmeszeviani@gmail.com>:
Sérgio,
Submeta um exemplo mínimo reproduzível para abrir caminho e estimular a submissão de soluções.
À disposição. Walmes.
________________________________________________________________________________ Mensagem enviada através do email grátis do AEIOU <http:/www.aeiou.pt/> _______________________________________________ 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.

Olá, Sérgio, Além dos conselhos/ sugestões que foram dadas, eu só acrescentaria: Sobre a questão do exemplo reproduzível, recomendo o pacote reprex: https://reprex.tidyverse.org/ Sobre a comparação de dois dataframes, duas colunas, dois objetos, dê uma olhada na função all_equal() da do pacote dplyr. *Enoch Sousa Filho* Em qua., 4 de dez. de 2019 às 15:34, sérgio marques por (R-br) < r-br@listas.c3sl.ufpr.br> escreveu:
Boa tarde,
Alguma dica para iniciante no R, para se obter o seguinte.
Tenho 2 tabelas (dataframes) com várias linhas e várias colunas, em cada célula dessas tabelas está um valor (cada valor é único, mas pode estar repetido ou não na tabela 2), quero obter uma 3.ª tabela (dataframe) onde conste cada valor da tabela 1 que não esteja presente na Tabela 2.
Obrigado! Sérgio
________________________________________________________________________________ Mensagem enviada através do email grátis do AEIOU <http:/www.aeiou.pt/> _______________________________________________ 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.
participantes (5)
-
Cesar Rabak
-
Enoch
-
Fernando Souza
-
sérgio marques
-
Walmes Zeviani