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

Luciano F. Sgarbi luciano.f.sgarbi em gmail.com
Sexta Agosto 3 14:36:46 BRT 2012


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


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