
23 Ago
2011
23 Ago
'11
04:44
Caros, tenho um arquivo (arq1) com as variáveis codigo, valor, mes e ano. > str(arq1) 'data.frame': 1108685 obs. of 5 variables: $ codigo: int 10059020 10059020 10030000 10059020 10059020 10059020 10059020 10030000 10059020 10059020 ... $ valor : num 97159 39938 144 25002 800 ... $ mes : num 1 1 1 1 1 1 1 1 2 2 ... $ ano : chr "2009" "2009" "2009" "2009" ... $ trim : chr "1" "1" "1" "1" ... > head(arq1) codigo valor mes ano 1 10059020 97158.59 1 2009 2 10059020 39938.15 1 2009 3 10030000 143.95 1 2009 4 10059020 25002.10 1 2009 5 10059020 800.11 1 2009 6 10059020 263.32 1 2009 Desejo atribuir a variável trim o valor 1, 2, 3 ou 4 dependendo do mes. Só que o meu código está gerando a seguinte mensagem de erro: > if (arq1$mes<4) + { + arq1$trim = "1" + }else{ if(arq1$mes<7) { + arq1$trim = "2" + }else{ if(arq1$mes<10){ + arq1$trim = "3" + }else{ + arq1$trim = "4" + } + } + } Mensagens de aviso perdidas: In if (arq1$mes < 4) { : a condição tem comprimento > 1 e somente o primeiro elemento será usado Mensagens de aviso perdidas: In if (arq1$mes < 4) { : a condição tem comprimento > 1 e somente o primeiro elemento será usado E atribuindo a trim o valor 1 para todas as observações. > head(arq1) codigo valor mes ano trim 1 10059020 97158.59 1 2009 1 2 10059020 39938.15 1 2009 1 3 10030000 143.95 1 2009 1 4 10059020 25002.10 1 2009 1 5 10059020 800.11 1 2009 1 6 10059020 263.32 1 2009 1 O que fazer? Carlos Mendonça.