[R-br] for e If

Evelyn Alecrim alecryn em yahoo.com.br
Sexta Abril 25 16:30:34 BRT 2014


Boa tarde, 

Tenho a seguinte situação, tenho três variáveis: Sit, d1 e d2. Gostaria que um valor (k) fosse calculado levando em consideração o valor de Sit, ou seja, para cada Sit uma fórmula diferente seria usada, como abaixo. 

Sit=c(3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)

d1=c(1.27,  5.80,  2.42,  3.11,  5.25,  4.74,  5.42,  5.14,  5.27,  5.61,  6.09,  6.38,  6.34,  8.60,
      7.36,  9.96, 10.86, 11.35,  8.94,  9.19,  8.66,  8.98,  9.86,  9.94, 11.59, 15.61,
      6.28,  7.83,  7.94,  7.67,  8.62,  9.43,  9.00)

d2=c(9.12, 10.81, 10.21,  7.11,  7.23,  7.62,  7.69,  7.59,  5.73, 
      5.39,  5.35,  5.42,  5.32,  3.84,  2.89,  0.70,  1.65,  2.32,  4.01,
      4.16,  4.32,  4.74,  5.12,  3.01,  1.91,  7.33,
      3.81,  2.27,  2.22,  4.44,  4.76,  7.35,  7.35)

for(i in 1:seq_along(Sit)){
  if(Sit==1){
    k<-(100 + d1 ^ 2 - d2 ^ 2) / 20
    
  } else if(Sit==2){
    k<-(10 + (100 + d1 ^ 2 - d2 ^ 2) / 20)
  } else {
    k<-(400 + d1 ^ 2 - d2 ^ 2) / 40
  }
  print(k)
}

No entanto, o R me retorna a seguinte mensagem: 

[1]  7.960963  7.919597  7.540307  8.978000  9.382240  9.110080  9.256007  9.220288  9.873500 10.060500 10.211640 10.283200 10.297330 11.480360 11.145437
[16] 12.467790 12.880427 13.086003 11.596087 11.678762 11.408330 11.454320 11.775130 12.243588 13.267000 14.748580 10.623057 11.403900 11.452880 10.977882
[31] 11.291170 10.872560 10.674437
Mensagens de aviso perdidas:
1: In 1:seq_along(Sit) :
  expressão numérica tem 33 elementos: somente o primeiro usado
2: In if (Sit == 1) { :
  a condição tem comprimento > 1 e somente o primeiro elemento será usado
3: In if (Sit == 2) { :
  a condição tem comprimento > 1 e somente o primeiro elemento será usado


Parece que ele está calculando usando apenas a terceira fórmula. Alguém pode dar uma luz? 
Obrigada, 
Emily
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140425/87ae252e/attachment.html>


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