[R-br] Dúvidas sobre uma função

Fabio Mathias Corrêa fabio.ufla em yahoo.com.br
Sexta Agosto 3 20:44:12 BRT 2012


Tente isto:

# sua matriz...
matriz <- matrix(c(1, 2, 4, 4,
                   3, 6, 3, 1,
                   7, 4, 8, 9,
                   1, 2, 2, 9), 4, 4)

which(matriz < 5, arr.ind=TRUE)

 Valeu!

        Fábio Mathias Corrêa


   Universidade Estadual de Santa Cruz
Departamento de Ciências Exatas e da Terra - DCET


Campus Soane Nazaré de Andrade, km 16 Rodovia Ilhéus-Itabuna
CEP 45662-900. Ilhéus-Bahia


Tel.: 73-3680-5076


________________________________
 De: Luciano F. Sgarbi <luciano.f.sgarbi em gmail.com>
Para: r-br em listas.c3sl.ufpr.br 
Enviadas: Sexta-feira, 3 de Agosto de 2012 14:36
Assunto: Re: [R-br] Dúvidas sobre uma função
 

Eu pensei dessa forma:

(mat<-matrix(sample(1:40,100,r=T),10,10))

(aa<-ifelse(mat<=4,row(mat),0))
names(table(aa))[-1]#para selecionar todos ao mesmo tempo


(ab<-ifelse(mat==4,row(mat),0))
names(table(ab))[-1]#para selecionar um valor por vez

Abraços
Luciano

2012/8/3 FHRB Toledo <fernandohtoledo em gmail.com>

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 em 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
>>(35)91243078 (TIM)
>>(35)98871518 (VIVO)
>> 
>>_______________________________________________
>>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.
>>
>
>_______________________________________________
>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.
>


-- 
Luciano
F. Sgarbi
Mestrando em Ecologia e Evolução - UFG
Laboratório
de Ecologia de Insetos

Cel.
(62)8174-2262   Lab. (62)3521-1732

_______________________________________________
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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120803/7666eb9a/attachment.html>


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