Os tipos básicos de objetos do Rsão:
Experimente os comandos listados para se familiarizar com estas estruturas.
x1 <- 10 x1 x2 <- c(1, 3, 6) x2 x2[1] x2[2] length(x2) is.vector(x2) is.matrix(x2) is.numeric(x2) is.character(x2) x3 <- 1:10 x3 x4 <- seq(0,1, by=0.1) x4 x4[x4 > 0.5] x4 > 0.5 x5 <- seq(0,1, len=11) x5 x6 <- rep(1, 5) x6 x7 <- rep(c(1, 2), c(3, 5)) x7 x8 <- rep(1:3, rep(5,3)) x8 x9 <- rnorm(10, mean=70, sd=10) x9 sum(x9) mean(x9) var(x9) min(x9) max(x9) summary(1:10) x10 <- x9[x9 > 72]
Para mais detalhes sobre vetores voce pode consultar as seguinte páginas:
m1 <- matrix(1:12, ncol=3) m1 length(m1) dim(m1) nrow(m1) ncol(m1) m1[1,2] m1[2,2] m1[,2] m1[3,] dimnames(m1) dimnames(m1) <- list(c("L1", "L2", "L3","L4"), c("C1","C2","C3")) dimnames(m1) m1[c("L1","L3"),] m1[c(1,3),] m2 <- cbind(1:5, 6:10) m2 m3 <- cbind(1:5, 6) m3
Para mais detalhes sobre matrizes consulte a página:
No R um array é definido utilizando a função array().
ar1 <- array(1:24, dim=c(3,4,2)) ar1
Examine agora os seguinte comandos:
ar1 <- array(1:24, dim=c(3,4,2)) ar1[,2:3,] ar1[2,,1] sum(ar1[,,1]) sum(ar1[1:2,,1])
Veja agora um exemplo de dados já incluido no R no formato de array. Para ``carregar'' e visualizar os dados digite:
data(Titanic) Titanic
Para maiores informações sobre estes dados digite:
help(Titanic)
Agora responda às seguintes perguntas, mostrando os comandos do R utilizados:
d1 <- data.frame(X = 1:10, Y = c(51, 54, 61, 67, 68, 75, 77, 75, 80, 82)) d1 names(d1) d1$X d1$Y plot(d1) plot(d1$X, d1$Y) d2 <- data.frame(Y= c(10+rnorm(5, sd=2), 16+rnorm(5, sd=2), 14+rnorm(5, sd=2))) d2$lev <- gl(3,5) d2 by(d2$Y, d2$lev, summary) d3 <- expand.grid(1:3, 4:5) d3
Para mais detalhes sobre data-frame consulte a página:
Listas são estruturas genéricas e flexíveis que permitem armazenar diversos formatos em um único objeto.
lis1 <- list(A=1:10, B="THIS IS A MESSAGE", C=matrix(1:9, ncol=3)) lis1 lis2 <- lm(Y ~ X, data=d1) lis2 is.list(lis2) class(lis2) summary(lis2) anova(lis2) names(lis2) lis2$pred lis2$res plot(lis2) lis3 <- aov(Y ~ lev, data=d2) lis3 summary(lis3)
lm glm plot plot.default
Entretanto isto não é disponível desta forma para todas as funções como por exemplo em:
min max rnorm linesNestes casos as funções não são escritas em linguagem R (em geral estão escritas em C) e voce tem que examinar o código fonte do R para visualizar o conteúdo das funções.
Paulo Justiniano Ribeiro Jr