
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 } } }

Pessoal, desconsiderem o e-mail anterior.Encontrei mais erros antes desses. rsAgradecido,Arthur. From: tcalegario@hotmail.com To: r-br@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 } } }
participantes (1)
-
Arthur Telles Calegario