seqrep = function(n){
return( rep(1:n, times=1:n) )
}
length(seqrep(50))
## [1] 1275
maior.xbarra = function(x){
return( x[x>mean(x)] )
}
maior.xbarra(seqrep(10))
## [1] 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10
## [26] 10 10
i = 10:20
sum( i^2 + 4/i )
## [1] 2588.075
s = NULL
for(i in 1:10){
for(j in 1:10){
s = sum(s, i^2/(5 + i*j) )
# cat("i: ",i,"j: ",j," soma: ",s,"\n")
}
}
s
## [1] 117.4334
a = c(-0.2, 0.2, 0.49, 0.5, 0.51, .99, 1.2)
trunc(a)
## [1] 0 0 0 0 0 0 1
floor(a)
## [1] -1 0 0 0 0 0 1
ceiling(a)
## [1] 0 1 1 1 1 1 2
round(a)
## [1] 0 0 0 0 1 1 1
A função trunc(a)
pega a parte inteira dos números de
a
. A função floor(a)
retorna o maior número
inteiro menor do que os números de a
, já a função
ceiling(a)
retorna o menor número inteiro maior do que os
números de a
. Por último, a função round(a)
arredonda os números de a
com o número de digitos
especificados, no caso, zero.
set.seed(1)
x = runif(20,-1,1)
ifelse(x>0, log(x), NA)
## Warning in log(x): NaNs produzidos
## [1] NA NA -1.92615940 -0.20283176 NA -0.22717746
## [7] -0.11726382 -1.13446047 -1.35391202 NA NA NA
## [13] -0.98337731 NA -0.61677365 NA -0.83186453 -0.01632026
## [19] NA -0.58898459
paste0("Seg",1:100)
## [1] "Seg1" "Seg2" "Seg3" "Seg4" "Seg5" "Seg6" "Seg7" "Seg8"
## [9] "Seg9" "Seg10" "Seg11" "Seg12" "Seg13" "Seg14" "Seg15" "Seg16"
## [17] "Seg17" "Seg18" "Seg19" "Seg20" "Seg21" "Seg22" "Seg23" "Seg24"
## [25] "Seg25" "Seg26" "Seg27" "Seg28" "Seg29" "Seg30" "Seg31" "Seg32"
## [33] "Seg33" "Seg34" "Seg35" "Seg36" "Seg37" "Seg38" "Seg39" "Seg40"
## [41] "Seg41" "Seg42" "Seg43" "Seg44" "Seg45" "Seg46" "Seg47" "Seg48"
## [49] "Seg49" "Seg50" "Seg51" "Seg52" "Seg53" "Seg54" "Seg55" "Seg56"
## [57] "Seg57" "Seg58" "Seg59" "Seg60" "Seg61" "Seg62" "Seg63" "Seg64"
## [65] "Seg65" "Seg66" "Seg67" "Seg68" "Seg69" "Seg70" "Seg71" "Seg72"
## [73] "Seg73" "Seg74" "Seg75" "Seg76" "Seg77" "Seg78" "Seg79" "Seg80"
## [81] "Seg81" "Seg82" "Seg83" "Seg84" "Seg85" "Seg86" "Seg87" "Seg88"
## [89] "Seg89" "Seg90" "Seg91" "Seg92" "Seg93" "Seg94" "Seg95" "Seg96"
## [97] "Seg97" "Seg98" "Seg99" "Seg100"
require(hmmm)
data("accident")
nrow(accident)
## [1] 72
sum(accident$Freq)
## [1] 1052
O banco de dados possui 72 linhas. Como as covariáveis são todas
categóricas, cada linha representa uma categoria de tipo de acidente
(uncertain
, avoidable
,
not-avoidable
), tempo em dias que o empregado ficou
afastado (0-7
, 7-21
, 21-60
,
>60
), faixa etária do empregado (<=25
,
26-45
, >45
), e o período do dia em que o
acidente ocorreu (morning
, afternoon
). Para
cada combinação entre as covariáveis, foi registrado o número de
acidentes com aquelas características na coluna Freq
.
Assim, o número total de acidentes é 1052.
attach(accident)
mean(Freq[Type=="uncertain"])
## [1] 24.08333
O número médio de acidentes do tipo uncertain
por
categoria das demais covariáveis é de 24.0833333.
A combinação de variáveis com o maior número de acidentes do tipo
avoidable
é dada por:
accident[ which( Freq == max(Freq[Type=="avoidable"]) ), ]
## Type Time Age Hour Freq
## 14 avoidable 0 |-- 7 26 -- 45 morning 51
ou seja, o maior número de acidentes evitáveis foi registrado para acidentes que ocorreram na manhã, com empregados com idade entre 26 e 45 anos, e que ficaram afastados por menos de uma semana.