Oi Augusto obrigado por responder., Correção quando escrevi: Ai ficaria assim: [8 9 6* 0* 8 7 8 *0* 9 *2* 6 6 *0* 7 8 *2 *8 *1 3* 6 *3 2* *3 * *2* *0* 6 *3 3* 8 7]*
o output ficaria assim: [*0* *0* *2* *0* *2* *1 3* *3 2* *3* *2* *0* *3 3* ] o retorno da sua função exemplo está correto Augusto, porém perdemos a referência de contagem. Eu só posso fazer a contagem do tamanho da cadeia quando vierem *em sequencia (marquei com underline ai em cima)*. Nesse caso, como o tamanho da cadeia = 2, Então eu irei contar da seguinte forma: Em suma: Frequencia da cadeia = [3 3] + [2 0] + [2 3] + [1 3] = 4. Gostaria de ter esse retorno na função: Total=*4*. Obrigado. Em 14 de maio de 2016 16:03, Augusto Ribas <[email protected]> escreveu: > Eu não entendi muito bem o problema, mas daria para definir uma função, e > usar ela no lapply para toda a sua lista. > Veja se esse exemplo ajuda. > > ###Gerando dados de exemplo > set.seed(123) > lista<-list() > j<-1 > for(i in sample(1:10,20,replace=T)){ > lista[[j]]<-sample(1:10,i,replace=T) > j<-j+1 > } > ###O exemplo > lista > > ###Faça uma função que retorna o que você quer > funcao<-function(x){ > if(length(x)>2 && sum(x<4)>=1){ > return(x[x<4]) > }else{ > return(NA) > } > } > > ###Exemplo de uso > funcao(lista[[1]]) > funcao(lista[[2]]) > > ###Para uma lista, da para usar lapply > lapply(lista,funcao) > > Em 14 de maio de 2016 14:35, Fernando Gama <[email protected]> > escreveu: > >> Eu tenho uma lista com os seguintes numeros: >> >> individuo[[1]]= [8 9 6 0 8 7 8 0 9 2 6 6 0 7 8 2 8 1 3 6 3 2 3 2 0 6 3 3 >> 8 7] >> >> Gostaria de detectar (realizar a contagem de sequencias dada um tamanho >> de cadeia). >> Baseado nos seguintes filtros: >> >> 1) tamanho da cadeia = 2 >> 2) pegar somente os valores iguais ou abaixo de 4 >> >> Ai ficaria assim: [8 9 6* 0* 8 7 8 *0* 9 *2* 6 6 *0* 7 8 *2 *8 *1 3* >> 6 *3 2* *3* *2* *0* 6 *3 3* 8 7] >> >> Tentei fazer começar com o which() para pegar as posicoes em sequencia: >> which(individuo[[1]]<=4) e com rle(individuo[[1]]), este ultimo só >> funciona para sequencias de numeros iguais. >> >> Porém, ainda nao encontrei uma maneira de detectar sequencias baseados >> no tamanho da cadeia. Como setei lá em cima(tamanho da cadeia = 2), então o >> output seria essas 4 sequencias: >> [*1 3* *3 2 * *3 2* *3 3*]. Teria portanto, 8 numeros com 4 >> sequencias. >> >> Alguem pode ajudar? :/ >> >> >> >> >> >> -- >> Att, >> Fernando. >> >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> 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. >> > > > > -- > Grato > Augusto C. A. Ribas > > Site Pessoal: http://recologia.com.br/ <http://augustoribas.heliohost.org> > Github: https://github.com/Squiercg > Lattes: http://lattes.cnpq.br/7355685961127056 > > _______________________________________________ > R-br mailing list > [email protected] > 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. > -- Att, Fernando Gama da Mata
_______________________________________________ R-br mailing list [email protected] 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.
