2 + 3
2 - 3
2 * 3
2/3
2 + 2
3 + 4 # ; separa operadores
2^3 # potencia
exp(1)
log(2.718282)
log10(6) # log base 10
log(9, 3) # log base 3
pi
sqrt(4)
trunc(5.65) #truncatura
round(5.65)
round(pi, 2)
round(pi, 5) #arredondamentos
3/0 # + infinity
-3/0 # - infinity
0/0 # NaN: not a number
a <- 2 + 3
b = 2 + 3
a
## [1] 5
b
## [1] 5
a
## [1] 5
x <- ((3 + 10)/3)^2
x # Objecto x mais complexo
## [1] 18.78
a + x
## [1] 23.78
a * x
## [1] 93.89
ls()
## [1] "a" "b" "x"
rm(x) #remove um objecto
ls() # Nova lista já sem o objecto x
## [1] "a" "b"
2 == 3 # 2 é igual a 3?
2 != 3 # 2 não é igual a 3
is.finite(1) # 1 é um numero finito?
is.infinite(10) #10 é infinito?
is.infinite(Inf) #inf é infinito
y <- c(1, 3, 4, 5, 8, 10)
y #dados individuais
## [1] 1 3 4 5 8 10
length(y)
## [1] 6
x <- c(1:8)
x
## [1] 1 2 3 4 5 6 7 8
length(x) # tamanho do objecto x (quantidade de dados)
## [1] 8
y * x
## Warning: longer object length is not a multiple of shorter object length
## [1] 1 6 12 20 40 60 7 24
cbind(y, x, y * x)
## Warning: longer object length is not a multiple of shorter object length
## Warning: number of rows of result is not a multiple of vector length (arg
## 1)
## y x
## [1,] 1 1 1
## [2,] 3 2 6
## [3,] 4 3 12
## [4,] 5 4 20
## [5,] 8 5 40
## [6,] 10 6 60
## [7,] 1 7 7
## [8,] 3 8 24
str(x) #Estrutura
## int [1:8] 1 2 3 4 5 6 7 8
summary(x) #sumario dos dados
max(x)
min(x)
sum(x)
mean(x)
sd(x)
median(x)
range(x)
quantile(x) #quartis
quantile(x, 0.1) #quantil especifico
d <- c(1:8, NA)
d
## [1] 1 2 3 4 5 6 7 8 NA
mean(d) # NA (not available) devido a 1 dos dados ser NA
## [1] NA
mean(d, na.rm = TRUE) # retira os NAs
## [1] 4.5
mean(d, na.rm = T)
## [1] 4.5
runif(n = 1, min = 0, max = 1000)
## [1] 800.7
set.seed(23)
runif(n = 5, min = 0, max = 1) # gerador de numeros aleatorios UNIFORMES entre 0 and 1
## [1] 0.5766 0.2231 0.3319 0.7107 0.8194
rnorm(n = 5, mean = 0, sd = 1) # gerador de numeros aleatorios NORMAIS com media=0 e sd=1
## [1] -0.1924 2.0166 2.7076 0.5285 -0.4824
rpois(n = 100, lambda = 2) # gerador de numeros aleatorios POISSON com lambda=2
## [1] 1 2 2 4 2 2 1 1 3 1 3 3 4 0 3 2 1 1 1 1 3 1 4 4 1 3 0 1 2 3 3 0 1 1 3
## [36] 2 3 1 3 4 0 1 5 2 4 1 1 2 1 0 1 0 5 2 6 2 3 4 2 0 1 3 1 2 4 3 0 4 3 3
## [71] 0 1 4 0 1 0 1 2 2 2 1 3 2 2 0 4 2 1 1 0 3 3 3 4 1 1 2 1 2 2
hist(rpois(n = 1000, lambda = 2))
rbinom(n = 100, size = 400, p = 0.5) # gerador de numeros baseados em Bernouli trials: 400 trials com p.sucesso de 0.5
## [1] 201 199 204 206 200 193 204 184 207 194 198 187 214 214 209 219 212
## [18] 191 202 202 201 186 214 207 193 199 199 194 203 210 189 211 189 213
## [35] 187 184 191 183 185 205 208 206 198 204 212 195 195 205 204 200 205
## [52] 196 215 192 193 204 216 208 207 195 208 212 199 203 201 178 229 202
## [69] 188 206 207 194 205 196 202 208 198 196 197 210 218 202 204 191 192
## [86] 184 208 201 196 186 207 183 206 230 212 187 201 201 208 205
hist(rbinom(n = 100, size = 400, p = 0.5))
idades <- c(35, 21, 25, 22, 22, 31, 18, 24, 19, 25)
idades
## [1] 35 21 25 22 22 31 18 24 19 25
idades
## [1] 35 21 25 22 22 31 18 24 19 25
mean(idades)
## [1] 24.2
median(idades)
## [1] 23
summary(idades)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.0 21.2 23.0 24.2 25.0 35.0
# ?summary #pedir ajuda online sobre uma função
# install.packages('fBasics') #instala o packadge no PC a partir do CRAN;
# Necessário fazer apenas '1' vez
library(fBasics) # carrega o packadge para esta sessão específica de R; Necessário fazer em cada sessão nova de R
## Loading required package: MASS
## Loading required package: timeDate
## Loading required package: timeSeries
## Attaching package: 'fBasics'
## The following object is masked from 'package:base':
##
## norm
basicStats(idades)
## idades
## nobs 10.0000
## NAs 0.0000
## Minimum 18.0000
## Maximum 35.0000
## 1. Quartile 21.2500
## 3. Quartile 25.0000
## Mean 24.2000
## Median 23.0000
## Sum 242.0000
## SE Mean 1.6653
## LCL Mean 20.4328
## UCL Mean 27.9672
## Variance 27.7333
## Stdev 5.2662
## Skewness 0.7820
## Kurtosis -0.6462
# ?basicStats #online descobrimos que podemos controlar os CI
basicStats(idades, ci = 0.9)
## idades
## nobs 10.0000
## NAs 0.0000
## Minimum 18.0000
## Maximum 35.0000
## 1. Quartile 21.2500
## 3. Quartile 25.0000
## Mean 24.2000
## Median 23.0000
## Sum 242.0000
## SE Mean 1.6653
## LCL Mean 21.1473
## UCL Mean 27.2527
## Variance 27.7333
## Stdev 5.2662
## Skewness 0.7820
## Kurtosis -0.6462
ls()
## [1] "a" "b" "d" "idades" "x" "y"
cbind(basicStats(idades), basicStats(idades, ci = 0.9))
## idades idades
## nobs 10.0000 10.0000
## NAs 0.0000 0.0000
## Minimum 18.0000 18.0000
## Maximum 35.0000 35.0000
## 1. Quartile 21.2500 21.2500
## 3. Quartile 25.0000 25.0000
## Mean 24.2000 24.2000
## Median 23.0000 23.0000
## Sum 242.0000 242.0000
## SE Mean 1.6653 1.6653
## LCL Mean 20.4328 21.1473
## UCL Mean 27.9672 27.2527
## Variance 27.7333 27.7333
## Stdev 5.2662 5.2662
## Skewness 0.7820 0.7820
## Kurtosis -0.6462 -0.6462
plot(idades)
idades
## [1] 35 21 25 22 22 31 18 24 19 25
hist(idades) #histograma automatico
hist(idades, main = "Histograma das idades", col = "3", xlab = "Idades (anos)",
ylab = "N Obs")
boxplot(idades)
boxplot(idades, main = "Boxplot das idades", ylab = "Idade (anos)")
setwd("D:\\Aulas\\2013_Curso_R-Kteam\\Aulas\\Sessao1")
getwd() #confirmar directoria
## [1] "D:/Aulas/2013_Curso_R-Kteam/Aulas/Sessao1"
etmop <- read.table("Etmopterus-spinax.csv", header = TRUE, sep = ",", dec = ".",
na.strings = "NA")
# etmop
ls()
## [1] "a" "b" "d" "etmop" "idades" "x" "y"
attach(etmop)
detach(etmop)
# etmop
head(etmop, 20) #20 primeiros dados
## Index Species Sexo CTcm PTg Maturacao ArtePesca
## 1 1 Etmopterus spinax M 18.7 26.79 Imaturo Arrasto
## 2 2 Etmopterus spinax M 18.5 24.68 Imaturo Arrasto
## 3 3 Etmopterus spinax M 26.2 75.75 Imaturo Arrasto
## 4 4 Etmopterus spinax M 32.8 143.79 Maturo Arrasto
## 5 5 Etmopterus spinax F 33.7 161.60 Maturo Arrasto
## 6 6 Etmopterus spinax M 29.7 103.64 Maturo Arrasto
## 7 7 Etmopterus spinax M 24.2 59.78 Imaturo Arrasto
## 8 8 Etmopterus spinax M 29.8 102.11 Maturo Arrasto
## 9 9 Etmopterus spinax F 21.4 40.24 Imaturo Arrasto
## 10 10 Etmopterus spinax M 19.7 29.25 Imaturo Arrasto
## 11 12 Etmopterus spinax F 33.2 159.00 Maturo Arrasto
## 12 13 Etmopterus spinax F 36.5 165.16 Maturo Arrasto
## 13 14 Etmopterus spinax F 36.1 197.30 Imaturo Arrasto
## 14 15 Etmopterus spinax F 19.5 30.86 Imaturo Arrasto
## 15 16 Etmopterus spinax F 23.1 48.61 Imaturo Arrasto
## 16 17 Etmopterus spinax F 18.9 24.93 Imaturo Arrasto
## 17 18 Etmopterus spinax F 24.3 60.34 Imaturo Arrasto
## 18 28 Etmopterus spinax M 27.6 100.14 Maturo Arrasto
## 19 29 Etmopterus spinax F 22.5 45.06 Imaturo Arrasto
## 20 30 Etmopterus spinax M 24.6 57.30 Imaturo Arrasto
dim(etmop) #tamanho da matriz de dados
## [1] 244 7
length(etmop)
## [1] 7
str(etmop)
## 'data.frame': 244 obs. of 7 variables:
## $ Index : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Species : Factor w/ 1 level "Etmopterus spinax": 1 1 1 1 1 1 1 1 1 1 ...
## $ Sexo : Factor w/ 2 levels "F","M": 2 2 2 2 1 2 2 2 1 2 ...
## $ CTcm : num 18.7 18.5 26.2 32.8 33.7 29.7 24.2 29.8 21.4 19.7 ...
## $ PTg : num 26.8 24.7 75.8 143.8 161.6 ...
## $ Maturacao: Factor w/ 2 levels "Imaturo","Maturo": 1 1 1 2 2 2 1 2 1 1 ...
## $ ArtePesca: Factor w/ 2 levels "Anzol","Arrasto": 2 2 2 2 2 2 2 2 2 2 ...
summary(etmop)
## Index Species Sexo CTcm
## Min. : 1.0 Etmopterus spinax:244 F:167 Min. :14.3
## 1st Qu.: 96.8 M: 77 1st Qu.:28.2
## Median : 535.5 Median :31.7
## Mean : 559.6 Mean :30.7
## 3rd Qu.: 880.2 3rd Qu.:34.9
## Max. :1401.0 Max. :40.7
## PTg Maturacao ArtePesca
## Min. : 10.8 Imaturo: 87 Anzol :149
## 1st Qu.: 91.4 Maturo :157 Arrasto: 95
## Median :135.2
## Mean :140.3
## 3rd Qu.:185.2
## Max. :367.1
summary(etmop$CTcm) #sumario apenas de 1 das variaveis dentro do objecto
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 14.3 28.2 31.7 30.7 34.9 40.7
basicStats(etmop$CTcm)
## X..etmop.CTcm
## nobs 244.00000
## NAs 0.00000
## Minimum 14.30000
## Maximum 40.70000
## 1. Quartile 28.20000
## 3. Quartile 34.92500
## Mean 30.74221
## Median 31.70000
## Sum 7501.10000
## SE Mean 0.35701
## LCL Mean 30.03899
## UCL Mean 31.44544
## Variance 31.09899
## Stdev 5.57665
## Skewness -0.75839
## Kurtosis -0.04228
by(etmop$CTcm, etmop$Sexo, mean)
## etmop$Sexo: F
## [1] 32.72
## --------------------------------------------------------
## etmop$Sexo: M
## [1] 26.44
by(etmop$CTcm, etmop$Sexo, sd)
## etmop$Sexo: F
## [1] 4.691
## --------------------------------------------------------
## etmop$Sexo: M
## [1] 4.9
by(etmop$CTcm, etmop$ArtePesca, mean)
## etmop$ArtePesca: Anzol
## [1] 33.32
## --------------------------------------------------------
## etmop$ArtePesca: Arrasto
## [1] 26.7
by(etmop$CTcm, etmop$ArtePesca, sd)
## etmop$ArtePesca: Anzol
## [1] 3.239
## --------------------------------------------------------
## etmop$ArtePesca: Arrasto
## [1] 6.07
plot(etmop$Sexo, main = "Sexo Individuos Capturados", xlab = "sexo", ylab = "Frequencia (n)")
plot(etmop$Sexo, main = "Sex of captured specimens", xlab = "Sex", ylab = "Frequency (n)",
names.arg = c("Females", "Males"))
plot(etmop$ArtePesca, main = "Arte de pesca", xlab = "Arte de pesca", ylab = "Frequencia (n)")
boxplot(etmop$CTcm, data = etmop)
hist(etmop$CTcm)
# ?hist()
boxplot(CTcm ~ ArtePesca, data = etmop)
boxplot(CTcm ~ Sexo, data = etmop)
par(mfrow = c(1, 2))
boxplot(CTcm ~ Sexo, data = etmop, ylab = "CT (cm)", xlab = "Sexo")
boxplot(CTcm ~ ArtePesca, data = etmop, ylab = NULL, xlab = "Arte de pesca")
library(ggplot2)
box.sex <- ggplot(etmop, aes(factor(Sexo), CTcm))
box.sex + geom_boxplot() + facet_grid(. ~ ArtePesca)
hist.CT <- ggplot(etmop, aes(x = CTcm))
hist.CT + geom_histogram(binwidth = 2) + facet_grid(ArtePesca ~ Sexo, scales = "free_y")
etmop$log.CTcm <- log(etmop$CTcm)
etmop$log.PTg <- log(etmop$PTg)
head(etmop)
## Index Species Sexo CTcm PTg Maturacao ArtePesca log.CTcm
## 1 1 Etmopterus spinax M 18.7 26.79 Imaturo Arrasto 2.929
## 2 2 Etmopterus spinax M 18.5 24.68 Imaturo Arrasto 2.918
## 3 3 Etmopterus spinax M 26.2 75.75 Imaturo Arrasto 3.266
## 4 4 Etmopterus spinax M 32.8 143.79 Maturo Arrasto 3.490
## 5 5 Etmopterus spinax F 33.7 161.60 Maturo Arrasto 3.517
## 6 6 Etmopterus spinax M 29.7 103.64 Maturo Arrasto 3.391
## log.PTg
## 1 3.288
## 2 3.206
## 3 4.327
## 4 4.968
## 5 5.085
## 6 4.641
str(etmop)
## 'data.frame': 244 obs. of 9 variables:
## $ Index : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Species : Factor w/ 1 level "Etmopterus spinax": 1 1 1 1 1 1 1 1 1 1 ...
## $ Sexo : Factor w/ 2 levels "F","M": 2 2 2 2 1 2 2 2 1 2 ...
## $ CTcm : num 18.7 18.5 26.2 32.8 33.7 29.7 24.2 29.8 21.4 19.7 ...
## $ PTg : num 26.8 24.7 75.8 143.8 161.6 ...
## $ Maturacao: Factor w/ 2 levels "Imaturo","Maturo": 1 1 1 2 2 2 1 2 1 1 ...
## $ ArtePesca: Factor w/ 2 levels "Anzol","Arrasto": 2 2 2 2 2 2 2 2 2 2 ...
## $ log.CTcm : num 2.93 2.92 3.27 3.49 3.52 ...
## $ log.PTg : num 3.29 3.21 4.33 4.97 5.09 ...
par(mfrow = c(1, 2))
plot(etmop$CTcm, etmop$PTg, ylab = "W (g)", xlab = "CT (cm)", main = "Relação Peso-Comprimento")
plot(etmop$log.CTcm, etmop$log.PTg, ylab = "log-W (g)", xlab = "log-CT (cm)",
main = "Relação LogPeso-LogComprimento")
etmop.imaturos <- subset(etmop, Maturacao == "Imaturo") #novo objecto
head(etmop.imaturos)
## Index Species Sexo CTcm PTg Maturacao ArtePesca log.CTcm
## 1 1 Etmopterus spinax M 18.7 26.79 Imaturo Arrasto 2.929
## 2 2 Etmopterus spinax M 18.5 24.68 Imaturo Arrasto 2.918
## 3 3 Etmopterus spinax M 26.2 75.75 Imaturo Arrasto 3.266
## 7 7 Etmopterus spinax M 24.2 59.78 Imaturo Arrasto 3.186
## 9 9 Etmopterus spinax F 21.4 40.24 Imaturo Arrasto 3.063
## 10 10 Etmopterus spinax M 19.7 29.25 Imaturo Arrasto 2.981
## log.PTg
## 1 3.288
## 2 3.206
## 3 4.327
## 7 4.091
## 9 3.695
## 10 3.376
dim(etmop.imaturos)
## [1] 87 9
dim(etmop)
## [1] 244 9
# write.table(etmop.imaturos, file='imaturos.csv', sep=',', dec='.',
# row.names=FALSE, col.names=TRUE) # gravar em CSV
median(etmop$CTcm)
## [1] 31.7
etmop$CT.categorico <- ifelse(etmop$CTcm > median(etmop$CTcm), "Grandes", "Pequenos")
head(etmop, 30)
## Index Species Sexo CTcm PTg Maturacao ArtePesca log.CTcm
## 1 1 Etmopterus spinax M 18.7 26.79 Imaturo Arrasto 2.929
## 2 2 Etmopterus spinax M 18.5 24.68 Imaturo Arrasto 2.918
## 3 3 Etmopterus spinax M 26.2 75.75 Imaturo Arrasto 3.266
## 4 4 Etmopterus spinax M 32.8 143.79 Maturo Arrasto 3.490
## 5 5 Etmopterus spinax F 33.7 161.60 Maturo Arrasto 3.517
## 6 6 Etmopterus spinax M 29.7 103.64 Maturo Arrasto 3.391
## 7 7 Etmopterus spinax M 24.2 59.78 Imaturo Arrasto 3.186
## 8 8 Etmopterus spinax M 29.8 102.11 Maturo Arrasto 3.395
## 9 9 Etmopterus spinax F 21.4 40.24 Imaturo Arrasto 3.063
## 10 10 Etmopterus spinax M 19.7 29.25 Imaturo Arrasto 2.981
## 11 12 Etmopterus spinax F 33.2 159.00 Maturo Arrasto 3.503
## 12 13 Etmopterus spinax F 36.5 165.16 Maturo Arrasto 3.597
## 13 14 Etmopterus spinax F 36.1 197.30 Imaturo Arrasto 3.586
## 14 15 Etmopterus spinax F 19.5 30.86 Imaturo Arrasto 2.970
## 15 16 Etmopterus spinax F 23.1 48.61 Imaturo Arrasto 3.140
## 16 17 Etmopterus spinax F 18.9 24.93 Imaturo Arrasto 2.939
## 17 18 Etmopterus spinax F 24.3 60.34 Imaturo Arrasto 3.190
## 18 28 Etmopterus spinax M 27.6 100.14 Maturo Arrasto 3.318
## 19 29 Etmopterus spinax F 22.5 45.06 Imaturo Arrasto 3.114
## 20 30 Etmopterus spinax M 24.6 57.30 Imaturo Arrasto 3.203
## 21 31 Etmopterus spinax M 25.5 69.65 Imaturo Arrasto 3.239
## 22 32 Etmopterus spinax M 22.9 49.85 Imaturo Arrasto 3.131
## 23 33 Etmopterus spinax F 23.6 51.21 Imaturo Arrasto 3.161
## 24 34 Etmopterus spinax F 21.1 38.32 Imaturo Arrasto 3.049
## 25 35 Etmopterus spinax M 17.8 24.12 Imaturo Arrasto 2.879
## 26 36 Etmopterus spinax M 19.7 32.58 Imaturo Arrasto 2.981
## 27 37 Etmopterus spinax M 16.1 16.27 Imaturo Arrasto 2.779
## 28 40 Etmopterus spinax F 32.7 159.80 Imaturo Arrasto 3.487
## 29 41 Etmopterus spinax F 28.0 101.09 Imaturo Arrasto 3.332
## 30 42 Etmopterus spinax F 29.9 113.54 Imaturo Arrasto 3.398
## log.PTg CT.categorico
## 1 3.288 Pequenos
## 2 3.206 Pequenos
## 3 4.327 Pequenos
## 4 4.968 Grandes
## 5 5.085 Grandes
## 6 4.641 Pequenos
## 7 4.091 Pequenos
## 8 4.626 Pequenos
## 9 3.695 Pequenos
## 10 3.376 Pequenos
## 11 5.069 Grandes
## 12 5.107 Grandes
## 13 5.285 Grandes
## 14 3.429 Pequenos
## 15 3.884 Pequenos
## 16 3.216 Pequenos
## 17 4.100 Pequenos
## 18 4.607 Pequenos
## 19 3.808 Pequenos
## 20 4.048 Pequenos
## 21 4.243 Pequenos
## 22 3.909 Pequenos
## 23 3.936 Pequenos
## 24 3.646 Pequenos
## 25 3.183 Pequenos
## 26 3.484 Pequenos
## 27 2.789 Pequenos
## 28 5.074 Grandes
## 29 4.616 Pequenos
## 30 4.732 Pequenos
table(etmop$CT.categorico)
##
## Grandes Pequenos
## 121 123
# função if que varre todos os valores de xi. A aplicação pode ser
# complicada e é preciso ter cuidado para os valores não se irem
# sobrepondo
length(etmop) # como é uma matriz de dados a função length dá o numero de variaveis
## [1] 10
dim(etmop) # da as dimensões da matriz
## [1] 244 10
dim(etmop)[1] #selecciona o 1o valor da matrtiz = nº obs (linhas)
## [1] 244
244
## [1] 244
# Ciclo FOR para criar nova variavel
for (i in 1:dim(etmop)[1]) {
# para todos os valores que vão da 1a até á ultima obs.
if (etmop$CTcm[i] < 30)
etmop$CT.categorico2[i] <- "Medios"
if (etmop$CTcm[i] < 20)
etmop$CT.categorico2[i] <- "Pequenos"
if (etmop$CTcm[i] >= 30)
etmop$CT.categorico2[i] <- "Grandes"
}
head(etmop, 30)
## Index Species Sexo CTcm PTg Maturacao ArtePesca log.CTcm
## 1 1 Etmopterus spinax M 18.7 26.79 Imaturo Arrasto 2.929
## 2 2 Etmopterus spinax M 18.5 24.68 Imaturo Arrasto 2.918
## 3 3 Etmopterus spinax M 26.2 75.75 Imaturo Arrasto 3.266
## 4 4 Etmopterus spinax M 32.8 143.79 Maturo Arrasto 3.490
## 5 5 Etmopterus spinax F 33.7 161.60 Maturo Arrasto 3.517
## 6 6 Etmopterus spinax M 29.7 103.64 Maturo Arrasto 3.391
## 7 7 Etmopterus spinax M 24.2 59.78 Imaturo Arrasto 3.186
## 8 8 Etmopterus spinax M 29.8 102.11 Maturo Arrasto 3.395
## 9 9 Etmopterus spinax F 21.4 40.24 Imaturo Arrasto 3.063
## 10 10 Etmopterus spinax M 19.7 29.25 Imaturo Arrasto 2.981
## 11 12 Etmopterus spinax F 33.2 159.00 Maturo Arrasto 3.503
## 12 13 Etmopterus spinax F 36.5 165.16 Maturo Arrasto 3.597
## 13 14 Etmopterus spinax F 36.1 197.30 Imaturo Arrasto 3.586
## 14 15 Etmopterus spinax F 19.5 30.86 Imaturo Arrasto 2.970
## 15 16 Etmopterus spinax F 23.1 48.61 Imaturo Arrasto 3.140
## 16 17 Etmopterus spinax F 18.9 24.93 Imaturo Arrasto 2.939
## 17 18 Etmopterus spinax F 24.3 60.34 Imaturo Arrasto 3.190
## 18 28 Etmopterus spinax M 27.6 100.14 Maturo Arrasto 3.318
## 19 29 Etmopterus spinax F 22.5 45.06 Imaturo Arrasto 3.114
## 20 30 Etmopterus spinax M 24.6 57.30 Imaturo Arrasto 3.203
## 21 31 Etmopterus spinax M 25.5 69.65 Imaturo Arrasto 3.239
## 22 32 Etmopterus spinax M 22.9 49.85 Imaturo Arrasto 3.131
## 23 33 Etmopterus spinax F 23.6 51.21 Imaturo Arrasto 3.161
## 24 34 Etmopterus spinax F 21.1 38.32 Imaturo Arrasto 3.049
## 25 35 Etmopterus spinax M 17.8 24.12 Imaturo Arrasto 2.879
## 26 36 Etmopterus spinax M 19.7 32.58 Imaturo Arrasto 2.981
## 27 37 Etmopterus spinax M 16.1 16.27 Imaturo Arrasto 2.779
## 28 40 Etmopterus spinax F 32.7 159.80 Imaturo Arrasto 3.487
## 29 41 Etmopterus spinax F 28.0 101.09 Imaturo Arrasto 3.332
## 30 42 Etmopterus spinax F 29.9 113.54 Imaturo Arrasto 3.398
## log.PTg CT.categorico CT.categorico2
## 1 3.288 Pequenos Pequenos
## 2 3.206 Pequenos Pequenos
## 3 4.327 Pequenos Medios
## 4 4.968 Grandes Grandes
## 5 5.085 Grandes Grandes
## 6 4.641 Pequenos Medios
## 7 4.091 Pequenos Medios
## 8 4.626 Pequenos Medios
## 9 3.695 Pequenos Medios
## 10 3.376 Pequenos Pequenos
## 11 5.069 Grandes Grandes
## 12 5.107 Grandes Grandes
## 13 5.285 Grandes Grandes
## 14 3.429 Pequenos Pequenos
## 15 3.884 Pequenos Medios
## 16 3.216 Pequenos Pequenos
## 17 4.100 Pequenos Medios
## 18 4.607 Pequenos Medios
## 19 3.808 Pequenos Medios
## 20 4.048 Pequenos Medios
## 21 4.243 Pequenos Medios
## 22 3.909 Pequenos Medios
## 23 3.936 Pequenos Medios
## 24 3.646 Pequenos Medios
## 25 3.183 Pequenos Pequenos
## 26 3.484 Pequenos Pequenos
## 27 2.789 Pequenos Pequenos
## 28 5.074 Grandes Grandes
## 29 4.616 Pequenos Medios
## 30 4.732 Pequenos Medios
table(etmop$CT.categorico2)
##
## Grandes Medios Pequenos
## 150 77 17
###Funcao SAMPLE: reamostragem
y <- 1:10
y
## [1] 1 2 3 4 5 6 7 8 9 10
sample(y) # permutações na ordem
## [1] 10 7 6 2 4 1 3 8 5 9
sample(y, replace = TRUE) # Permutações com reposicao (bootstrap)
## [1] 2 3 3 4 7 10 10 3 3 9
sample(y, 8, replace = F) # reamostragem de 8 valores SEM reposicao
## [1] 10 5 1 2 3 7 8 6
sample(y, 8, replace = T) # reamostragem de 8 valores COM reposicao
## [1] 4 8 6 2 5 3 7 2
Y <- rnorm(n = 250, mean = 0, sd = 1) # Populacao verdadeira: 100 individuos aleatorios
length(Y)
## [1] 250
par(mfrow = c(1, 1))
hist(Y, breaks = "Scott")
mean(Y)
## [1] -0.03855
x <- sample(Y, 100, replace = F)
length(x)
## [1] 100
par(mfrow = c(1, 2))
hist(Y, main = "População verdadeira", breaks = "Scott")
hist(x, main = "População amostrada", breaks = "Scott")
a.minha.media <- function(x) {
sum(x)/length(x)
}
a <- c(2, 3, 4, 5, 6)
a.minha.media(a)
## [1] 4
a.minha.media(etmop$CTcm)
## [1] 30.74
mean(etmop$CTcm)
## [1] 30.74
a.minha.media.aldrabada <- function(x) {
(sum(x) + 1)/length(x)
}
a.minha.media.aldrabada(a)
## [1] 4.2
a.minha.media.aldrabada(etmop$CTcm)
## [1] 30.75
soma.com.loop <- function(x) {
y <- 0 # Inicia um novo objecto
for (i in 1:length(x)) y <- y + x[i]
y
}
soma.com.loop(a)
## [1] 20
sum(a)
## [1] 20
media.com.loop <- function(x) {
z.soma <- 0 # Inicia um novo objecto para guardar as somas
z.media <- 0 # Inicia um novo objecto para guardar a media final
for (i in 1:length(x)) z.soma <- z.soma + x[i]
z.media <- z.soma/length(x)
z.media
}
media.com.loop(a)
## [1] 4
media.com.loop(etmop$CTcm)
## [1] 30.74
a.minha.media(etmop$CTcm)
## [1] 30.74
mean(etmop$CTcm)
## [1] 30.74
# NOTA: loops grandes podem ser muito lentos em R.