1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
mycatdes<-function (donnee, num.var, proba = 0.05, weight)
[...]
if (!is.null(quanti)) {
nom = result = structure(vector(mode = "list", length = nb.modalite),
names = levels(donnee[, num.var]))
for (i in 1:length(quanti)) {
moy.mod = by(donnee[, quanti[i]], donnee[, num.var],
weighted.mean,w=weight, na.rm = TRUE)
n.mod = summary(donnee[, num.var])
sd.mod = by(donnee[, quanti[i]], donnee[, num.var],
sd, na.rm = TRUE)
sd.mod = sd.mod * sqrt((n.mod - rep(1, nb.modalite))/n.mod)
moy = weighted.mean(donnee[, quanti[i]],weight, na.rm = TRUE)
et = sd(donnee[, quanti[i]], na.rm = TRUE) * sqrt(1 -
1/sum(n.mod))
for (j in 1:nb.modalite) {
v.test = (moy.mod[j] - moy)/et * sqrt(n.mod[j])/sqrt((sum(n.mod) -
n.mod[j])/(sum(n.mod) - 1))
p.value = pnorm(abs(v.test), lower.tail = FALSE) *
2
if (!is.na(v.test)) {
if (abs(v.test) > -qnorm(proba/2)) {
result[[j]] = rbind(result[[j]], c(v.test,
moy.mod[j], moy, sd.mod[j], et, p.value))
nom[[j]] = c(nom[[j]], colnames(donnee)[quanti[i]])
}
}
}
}
[...] |
Partager