IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Mise en dataframe après appariement


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 51
    Par défaut Mise en dataframe après appariement
    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

  2. #2
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Euh... j'aimerais bien t'aider, mais sans exemple à faire tourner, difficile (un peu légère la description en plus).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 51
    Par défaut
    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.

  4. #4
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    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.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 51
    Par défaut
    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

    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"]),]
    Merci en tout cas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. texte mise en forme après accès par signet word
    Par dederfred dans le forum Delphi
    Réponses: 5
    Dernier message: 11/11/2006, 21h19
  2. mise en veille apres fermeture de l'écran
    Par zalalus dans le forum Windows XP
    Réponses: 3
    Dernier message: 01/08/2006, 13h58
  3. mise ajour sousform apres utilisation combo box
    Par euromarc dans le forum Access
    Réponses: 3
    Dernier message: 04/07/2006, 16h06
  4. Mise en page après requête MySql
    Par php_de_travers dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/11/2005, 09h25
  5. Mise à jour enregistrements après impression
    Par alalau dans le forum Access
    Réponses: 2
    Dernier message: 17/12/2004, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo