Dando continuidade ao problema. Agora eu preciso calcular os quantis 25, 50 e 75 e em seguida classificar todas as linhas de um data.frame usando condições. Vou continuar o exemplo do Rodrigo:

dados <- read.table(text='year month anom3_4
  1950     1   -1.50
  1950     2   -1.77
  1950     3   -0.73
  1950     4   -0.94
  1950     5   -1.47
  1950     6   -0.70
  1950     7   -0.48
  1950     8   -0.59
  1950     9   -1.09
  1950    10   -0.57
  1950    11   -1.09
  1950    12   -0.93
  1951     1   -1.04
  1951     2   -0.07
  1951     3   -0.70
  1951     4    0.05
  1951     5   -0.22
  1951     6    0.04
  1951     7    0.41
  1951     8    0.74
  1951     9    0.38
  1951    10    0.80
  1951    11    0.80
  1951    12    0.72', header=TRUE)

dados2 <- dados[dados$month %in% c(9, 10, 11), ] # Pega só os 3 meses
dados3 <- with(dados2, aggregate(anom3_4, list(year=year), mean)) # Aplica a média por ano

# Encontro os quantis 25, 50 e 75
p <- c(25,50,75)/100
q <- quantile(dados3$x, p)

Agora, digamos que eu queria classificar cada linha do data.frame comparando-a com os quartis e criar uma nova coluna rotulada de acordo com o resultado. As condições são:

Se dados3$x for menor do que o quartil 25, dados3$class receberá LN
Se dados3$x for maior do que o quartil 75, dados3$class receberá EN
Se dados3$x for maior ou igual ao quartil 25 E menor ou igual que o quartil 75, dados3$class receberá NEU

O código seria algo como:

# Classificar o data.frame dados3
if (dados3$x<q[1]) dados3$class='LN'
if (dados3$x>q[3]) dados3$class='EN'
if (q[1]<=dados3$x & dados3$x<=q[3]) dados3$class='NEU'

Mas ele não funciona. Talvez eu tivesse que aplicar essa condição linha a linha do data.frame dados3. Como fazer isso?
 
Saudações,
--
Thiago V. dos Santos
PhD student
Land and Atmospheric Science
University of Minnesota
http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
Phone: (612) 323 9898

From: Rodrigo Coster <rcoster@gmail.com>
To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br>
Sent: Friday, May 24, 2013 3:03 PM
Subject: Re: [R-br] Operação em data.frame com colunas 'numeric'

Qual a diferença de ser número ou fator? Os comandos (pelo menos do jeito que eu to pensando) são os mesmos.

dados <- read.table(text='year month anom3_4
  1950     1   -1.50
  1950     2   -1.77
  1950     3   -0.73
  1950     4   -0.94
  1950     5   -1.47
  1950     6   -0.70
  1950     7   -0.48
  1950     8   -0.59
  1950     9   -1.09
  1950    10   -0.57
  1950    11   -1.09
  1950    12   -0.93
  1951     1   -1.04
  1951     2   -0.07
  1951     3   -0.70
  1951     4    0.05
  1951     5   -0.22
  1951     6    0.04
  1951     7    0.41
  1951     8    0.74
  1951     9    0.38
  1951    10    0.80
  1951    11    0.80
  1951    12    0.72', header=TRUE)

dados_dois <- dados[dados$month %in% c(9, 10, 11), ] # Pega só os 3 meses
with(dados_dois, aggregate(anom3_4, list(year=year), mean)) # Aplica a média por ano


2013/5/24 Thiago V. dos Santos <thi_veloso@yahoo.com.br>
Olá pessoal,

Estou com uma dúvida bem básica no R. Tenho um data.frame que contem anos e meses no formato numérico e gostaria de realizar algumas operações nesse DF. Vejam abaixo:

   year month anom3_4
  1950     1   -1.50
  1950     2   -1.77
  1950     3   -0.73
  1950     4   -0.94
  1950     5   -1.47
  1950     6   -0.70
  1950     7   -0.48
  1950     8   -0.59
  1950     9   -1.09
  1950    10   -0.57
  1950    11   -1.09
  1950    12   -0.93
  1951     1   -1.04
  1951     2   -0.07
  1951     3   -0.70
  1951     4    0.05
  1951     5   -0.22
  1951     6    0.04
  1951     7    0.41
  1951     8    0.74
  1951     9    0.38
  1951    10    0.80
  1951    11    0.80
  1951    12    0.72

Gostaria, inicialmente, de manter somente os meses 9, 10 e 11 de cada ano (no caso, 1950 e 1951). Em seguida, gostaria de calcular a média da coluna anom3_4 em cada ano. 

Se as colunas year e month estivessem como factor, seria fácil fazer isso. Mas acho que não dá para criar factor a partir de numerics.

Sugestões de linhas mágicas para fazer isso?

Obrigado,
--
Thiago V. dos Santos
PhD student
Land and Atmospheric Science
University of Minnesota
http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
Phone: (612) 323 9898 
_______________________________________________
R-br mailing list
R-br@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.


_______________________________________________
R-br mailing list
R-br@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.