Na mesma linha da solução do Luis G S e Silva:

dd <- c("958Q3", "2001Q1", "1989M7", "1948M12", "1949", "2011")
dd[!grepl("[A-Z]", dd)]


2015-03-17 11:59 GMT-03:00 Éder Comunello <comunello.eder@gmail.com>:
Complementando a resposta anterior:

data <- data.frame(x=c("1958Q3", "2001Q1", "1989M7", "1948M12", "1949", "2011"),
                   y=runif(6,0,1))

data
(ano  <- data[grep("[0-9]{4}$", data$x),])
(quad <- data[grep("[0-9].*Q", data$x),])
(mes  <- data[grep("[0-9].*M", data$x),])

Éder Comunello <comunello.eder@gmail.com>
Dourados, MS - [22 16.5'S, 54 49'W]



_______________________________________________
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.



--
Marcos F. Silva
http://sites.google.com/site/marcosfs2006