Test d'hypothèses multiples<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut à tous,
J'aurai très bientôt besoin d'effectuer un grand nombre de tests d'hypothèses. Comme il est bien connu que dans un tel cas, s’appuyer sur les valeurs p est une erreur, en raison d’erreurs de type I, j’aimerais utiliser le taux de détection fausse, et plus précisément le taux de détection fausse positif (Storey), et calcule les valeurs q comme mes "valeurs p ajustées".
Ma question est divisée en deux:
1. Existe-t-il un code permettant de calculer le pFDR et les valeurs q correspondantes dans JMP 9? J'ai vu quelque chose sur Internet à partir duquel je suppose que de telles fonctions existent déjà dans JMP Clinical. Je n'ai qu'une licence pour JMP 9 et je n'ai aucune idée du coût clinique de JMP ni de mon budget. Donc, s’il existe un simple code JSL quelque part, cela peut être très utile pour moi.
2 Si un tel code existe, il faudra probablement un vecteur de valeurs p en sortie. Considérez que j’ai un fichier JMP avec 1 variable catégorielle et 500 variables continues, et que je veux exécuter un test t pour chacune des 500 variables et enregistrer dans un nouveau fichier une variable des valeurs p contenant 500 d'entre eux. Comment est-ce que je fais cela dans JSL? Est-ce possible? Que JMP exécute automatiquement 500 tests et enregistre uniquement les valeurs p?
Merci d'avance....
Test d'hypothèses multiplesMerci pour l'aide, tout le monde.
Après le week-end, je vais essayer de travailler avec le code et de lire les diapositives.
Merci Dave pour le lien, on dirait que c'est exactement ce dont j'ai besoin, et merci à tous pour l'assistant, je l'apprécie!
Test d'hypothèses multiplesBeaucoup de bonnes informations dans ces diapositives. Merci d'avoir partagé Dave.
Test d'hypothèses multiplesVoici quelques diapositives qui expliquent comment utiliser JSL pour se connecter à R
Test d'hypothèses multiplesPour les matrices || est un opérateur de concaténation horizontale. Concat (m, owr ...) est équivalent.
Je n'ai aucune expérience du FDR mais j'ai un peu joué avec la conncention JMP-R. Voici un exemple. La première moitié est identique à l'exemple ci-dessus. La sortie est affichée dans le journal jmp. Pour obtenir le résultat sous forme de chaîne, placez la fonction R Submit dans la fonction Log Capture ().
dt = Ouvrir ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
m = [] ;
Pour ( je = 4 , je <= N Col ( dt ) , je ++,
ow = Une manière ( Y ( Colonne ( je ) ) , X ( : sexe ) , t test ( 1 ) , invisible ) ;
owr = rapport ( ow ) ;
m = m || owr [ "t test" ] [ Nombre Col Box ( 4 )] [ 1 ] ;
) ;
dtp = Nouvelle table ( "t-tests" , Nouvelle colonne ( "p" , numérique , définir des valeurs ( m ) ) ) ;
varname = "p" ;
R Init () ; // Initialise la connexion R
R Envoyer ( dtp ) ; // Envoyer la table de données à R
// Soumettre une chaîne avec des commandes R
R Soumettre ( "Data <- dtp
noms (données)
attacher (données)
signifier(" || varname || ")" ) ;
Rterm () ;
Test d'hypothèses multiplesMerci, c'est une bonne idée ...
Il me reste encore une chose à faire (accepter mes excuses car je suis trop occupé, je n'ai jamais le temps d'apprendre correctement JSL ...). De votre code, je finis par obtenir un tableau JMP contenant 1 colonne, de valeurs p, non? Devrais-je maintenant écrire un code JSL qui se connecte à R, si c'est le cas, j'ai besoin d'un peu d'aide, ou devrais-je exporter la table et travailler directement à partir de R, cela devrait fonctionner, n'est-ce pas?
Si quelqu'un peut m'écrire un exemple simple et rapide montrant comment, après avoir récupéré la nouvelle table, se connecter à R et exécuter quelque chose d'aussi simple que mean (p), je pourrai le modifier pour le pFDR ultérieurement.
et une dernière question (promesse), dans la ligne:
m = m || owr [ "t test" ] [ Nombre Col Box ( 4 )] [ 1 ] ;
pourquoi M ou owr [...]? Je veux dire, pourquoi le || est nécessaire ?
Merci mille fois, vous me faites gagner beaucoup de temps lors de l’exportation de gros jeux de données vers R et du codage dans ce pays ....
Test d'hypothèses multiples1. Je ne connais pas de code JMP librement disponible, mais il existe plusieurs options dans R. http://strimmerlab.org/notes/fdr.html répertorie certains packages liés à FDR. JMP 9 peut se connecter à et récupérer les résultats de R. C’est probablement une tâche beaucoup plus simple que de coder les algorithmes dans JSL à partir de zéro.
2 Cela devrait être possible. Vous trouverez ci-dessous un exemple pouvant vous donner quelques idées. Il fonctionne en boucle sur toutes les colonnes numériques y situées à droite de la colonne x fixe dans un ajustement simple, puis récupère la valeur p (test t bilatéral) du rapport et l'insère dans une matrice. La matrice est finalement ajoutée à une colonne dans une nouvelle table de données.
dt = Ouvrir ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
m = [] ;
Pour ( je = 4 , je <= N Col ( dt ) , je ++,
ow = Une manière ( Y ( Colonne ( je ) ) , X ( : sexe ) , t test ( 1 ) , invisible ) ;
owr = rapport ( ow ) ;
m = m || owr [ "t test" ] [ Nombre Col Box ( 4 )] [ 1 ] ;
) ;
Nouvelle table ( "t-tests" , Nouvelle colonne ( "p" , numérique , définir des valeurs ( m ) ) ) ;
Test d'hypothèses multiplesJe pense que pFDR existe dans JMP Genomics, mais pas dans JMP standard (ou Pro)