[R-br] problema com for loop

Vitor Aguiar vitor.aguiar em me.com
Sexta Março 23 19:02:32 BRT 2012


Gostaria de pedir ajuda novamente sobre o mesmo problema.
Talvez Benilton ou outro usuário de loops possam ajudar. Acho que a resposta é muito simples.
Desde já agradeço.

# Usando o arquivo abaixo com algumas células em branco (pois o valor não existe). Então o loop abaixo não funciona. Eu gostaria que o loop corresse pelo arquivo e, quando encontrasse um valor faltando, ele ignorasse e pulasse para o próximo valor, sem produzir um NA no meu output. Talvez usar if statement...

file: http://www.datafilehost.com/download-9a400f40.html

pop = read.csv("file.csv", row.names = 1)
counter = 1
while (counter < length(names(pop))) {
	N = length(c(pop[ ,counter]))
	Names = levels(factor(c(pop[ ,counter], pop[ ,counter + 1])))
	ObsGen = matrix(0, nrow = length(Names), ncol = length(Names), dimnames = list(Names, Names))
	for(i in 1:N) {
		ObsGen[paste(pop[i, counter]), paste(pop[i, counter + 1])] = ObsGen[paste(pop[i, counter]), paste(pop[i, counter + 1])] + 1
}
print(ObsGen)
counter = counter + 2
}






On Mar 12, 2012, at 11:55 AM, Vitor Aguiar wrote:

> Muito boa alternativa.
> Muito obrigado Benilton!
> 
> 
> On Mar 12, 2012, at 3:51 AM, Benilton Carvalho wrote:
> 
>> Desde que os nomes dos grupos nao sejam ambiguos:
>> 
>> grupos <- unique(gsub("(.*)\\.\\d{1}$", "\\1", names(Pop)))
>> tabelaPorGrupo <- function(grp, dat){
>>   cols <- grep(grp, names(dat))
>>   Nomes <- levels(factor(c(dat[,cols[1]], dat[,cols[2]])))
>>   table(factor(Pop[,cols[1]], levels=Nomes), factor(Pop[,cols[2]],
>> levels=Nomes))
>> }
>> tabelas <- lapply(grupos, tabelaPorGrupo, Pop)
>> names(tabelas) <- grupos
>> tabelas
>> 
>> 
>> b
>> _______________________________________________
>> 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/20120323/0da340d5/attachment.html>


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