[R-br] 'If' dentro do 'Else'

Arthur Telles Calegario tcalegario em hotmail.com
Segunda Agosto 19 10:58:13 BRT 2013


Pessoal, desconsiderem o e-mail anterior.Encontrei mais erros antes desses. rsAgradecido,Arthur.

From: tcalegario em hotmail.com
To: r-br em listas.c3sl.ufpr.br
Subject: 'If' dentro do 'Else'
Date: Mon, 19 Aug 2013 10:44:25 -0300




Oi pessoal,Estou com uma dificuldade de efetivar um 'if' dentro do 'else'.É possível fazer isso né? Estou trabalhando com uma técnica de agrupamento baseado na "transferência de entropia mútua" que é a matriz do exemplo.Grifei o problema em amarelo.Se puderem me ajudar.Agradecido,Arthur.


#Exemplo:
col1=c(1,0.45,0.25,0.18,0.14,0.22,0.26,0.41)col2=c(0.54,1,0.50,0.15,0.15,0.3,0.27,0.28)col3=c(0.2,0.52,1,0.21,0.17,0.5,0.22,0.26)col4=c(0.13,0.17,0.28,1,0.4,0.22,0.5,0.16)col5=c(0.12,0.15,0.15,0.42,1,0.19,0.31,0.14)col6=c(0.2,0.32,0.49,0.25,0.21,1,0.23,0.2)col7=c(0.21,0.25,0.19,0.48,0.29,0.19,1,0.21)col8=c(0.47,0.32,0.29,0.22,0.15,0.23,0.2,1)
dados=cbind(col1,col2,col3,col4,col5,col6,col7,col8) # matrix DIT (direcional information transfer)
#Prática
Dit=dadosthreshold=0.35grupos=list(0,0,0,0,0,0,0,0) # 8 pois é o máximo número de grupos
#lógica 1for (i in 1:ncol(dados))	{		for (j in i:ncol(dados))		{		if ((Dit[i,j]>=threshold && Dit[j,i]>=threshold) && Dit[i,j]!=1)   #condição para agrupar --> i e j > thresold						for (k in 1:i)								#verificar se i ou j estão em algum grupo anterior				{ 			if (sum(grupos[[k]])==i | sum(grupos[[k]])==j) {grupos[[k]]=cbind(grupos[[k]],i,j)} 						else {(if (grupos[[k]]==0)  {grupos[[k]]=c(i,j)})}						##Problema: fazer if dentro do else			} 			}	} 		 	   		   		 	   		  
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130819/e7807036/attachment.html>


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