Bonjour,
J'ai fait un appariement à partir d'un score de propension et je voudrais remettre les résultats de cet appariement dans une dataframe...
Comment puis-je faire?
Merci
Bonjour,
J'ai fait un appariement à partir d'un score de propension et je voudrais remettre les résultats de cet appariement dans une dataframe...
Comment puis-je faire?
Merci
Euh... j'aimerais bien t'aider, mais sans exemple à faire tourner, difficile (un peu légère la description en plus).
Paedon oui :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 mat <- Match(Y=epid$DTH30, Tr=epid$SWANG1, X=epid$prop, caliper = 0.03, ties=TRUE,distance.tolerance = 0,) summary(mat) table =data.frame(mat) table(duplicated(mat$index.control)) table(duplicated(mat$index.treated)) # un controle pour un traité controle=data.frame(mat$index.control[!duplicated(mat$index.control)]) traité=data.frame(mat$index.treated[!duplicated(mat$index.control)])
le dataframe s'appelle "epid"
"prop" est le score de propension que j'ai calculé
"DTH30" est ma variable à expliquer
"SWANG1" est ma variable explicative
caliper permet de donner la distance maximum (du score de propension) au dela de laquelle il ne peut plus y'avoir d'appariement entre 2 individus
Et en fait je voudrais me retrouver avec une table comprenant les variables "prop" "DTH30" "SWANG1" pour les sujets appariés.
Eh bin non, j'ai pas non plus les données...
Un exemple fictif que j'aurais juste à copier (histoire que je puisses voir à quoi ressemblent les sorties) serait bien mieux.
En fait j'ai trouvé ou plutôt quelqu'un m'a aidé. C'était en fait des notions de fusion de table.
Je mets mon script quand même à titre indicatif
Merci en tout cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 mat <- Match(Y=epid$DTH30, Tr=epid$SWANG1, X=epid$prop, caliper = 0.001, ties=FALSE) summary(mat) table(duplicated(mat$index.control)) table(duplicated(mat$index.treated)) controle=data.frame(mat$index.control[!duplicated(mat$index.control)]) traite=data.frame(mat$index.treated[!duplicated(mat$index.control)]) colnames(traite) <- c("ROWNAMES") x <- merge(traite,epid[,c(1,9,28,45,66,68:70)], by = "ROWNAMES", all.x = TRUE) colnames(controle) <- c("ROWNAMES") controle <- cbind(controle, odre = c(1:1036)) b <- merge(controle,epid[,c(1,9,28,45,66,68:70)], by = "ROWNAMES", all.x = TRUE) b <- b[order(b[,"odre"]),] b <- b[,-c(2)] x <- cbind(x, PAIR = c(1:1036)) b <- cbind(b, PAIR = c(1:1036)) z <- rbind(x,b) z <- z[order(z[,"PAIR"]),]
Partager