Olha só... quem é vivo sempre aparece!
Matheus, seu CMR não é muito claro, mas vamos ver se entendi o problema e essa solução resolve!
# sua matriz...
matriz <- matrix(c(1, 2, 4, 4,
3, 6, 3, 1,
7, 4, 8, 9,
1, 2, 2, 9), 4, 4, byrow = TRUE)
# outra matriz um pouco maior!
outra <- matrix(sample(1:10, 1000, replace = TRUE), 250, 4)
# a funcao...
funcao <- function(x)ifelse(sum(match(x, c(1, 2, 3)), na.rm = TRUE) != 0, 'tem', 'nao')
# aplicando-a a sua e a outra matriz
apply(matriz, 1, funcao)
apply(outra, 1, funcao)
A lógica por tras da função é: faz-se um match nos valore da linha da matriz com o seus valores alvo (1, 2 e 3), retornando a posição desses valores na linha ou NA! depois soma-se esses valores, excluindo os NA, se a soma for diferente de zero pelo menos um dos numeros (1, 2 ou 3) têm na referida linha!
Resta só agora esperarmos por uma solução muito mais elegante dos colegas da lista.
abraço,
FH
2012/8/3 Matheus Mendes
<mendesmhs@hotmail.com>
Bom dia...
Estou com um trabalho a ser feito e gostaria de solicitar ajuda.
Tenho uma planilha com a seguinte estrutura:
Primeiro Segundo Terceiro Quarto
1 2 4 4
3 6 3 1
7 4 8 9
1 2 2 9
Preciso identificar quais as linhas que recebem os números 1, 2, 3 e 4, não importando a ordem, ou seja, se é primeiro, segundo, ...
Estou com dúvidas para fazer uma função para este fim...
Grato
Matheus Henrique Silveira Mendes
Engenheiro Agrônomo - UFLA
Mestre em Genética e Melhoramento de Plantas – UFLA
Doutorando em Genética e Melhoramento de Plantas – UFLA
_______________________________________________
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.