2017-08-21 4 views
-1

J'ai environ 9k observations pour 2 variables pour lesquelles je veux tester la corrélation. Au départ, je sous-estimais cette valeur, ce qui ne me posait aucun problème. J'ai réalisé que je n'obtiendrais pas une corrélation statistiquement significative pour certains groupes de valeur en raison du faible nombre d'observations. J'ai décidé de changer mon approche du groupe par quantiles. Je peux actuellement sous-classer le top X% sans problème, mais j'ai du mal à comprendre comment regrouper toutes les données en plusieurs centiles, c'est-à-dire 0-5%, 5-10%, 10-15%. Aide beaucoup apprécié. Merci, JonoDonnées de sous-ensembles en pourcentages

+0

pouvez essayer 'couper (x, quantile (x, seq (0, 1, 0.05))) 'et en passant, essayez-vous de sous-ensembles les données par les valeurs d'une troisième variable ou l'un des deux? – Enigma

+0

J'essaie de sous-estimer les valeurs de l'une des deux variables, mais je veux conserver l'autre variable connexe. –

+0

J'obtiens les mêmes résultats que j'ai mentionnés dans le commentaire ci-dessous. Je ne cherche pas à retourner les points finaux quantiles et la fréquence, mais les valeurs pour les deux variables. Donc, je suis en train d'essayer de diviser une table en 20 en fonction de la valeur d'une variable. Merci pour votre réponse. –

Répondre

1

Nous pouvons utiliser la fonction cut2 dans Hmisc package

library(Hmisc) 
cut2(x, g=20) 

Il divise vos données en 20 quantiles que vous le souhaitez

+0

Donc, cela me renvoie les points finaux des quantiles pour cette variable, et la fréquence des observations dans ce quantile. Selon le suivant: –

+0

Var1 \t Freq 1 \t [-56,3423, -4,2891) [-4,2891, -2,0039) [-2,0039, -1,2219) [- 1,2219, -0,6693) [-0,6693, -0,0328) [-0,0328, 0,5287) [0,5287, 0,9879) Ce que je suis en train de réaliser est de diviser la table 1 en 20 tables avec les valeurs des deux varia bles pour chaque quantile de 5%. J'espère que j'ai du sens, c'est mon premier post sur S.O. Merci pour votre réponse –

+0

vous pouvez ajouter une colonne qui montre le quntile, puis utiliser le sous-ensemble. 'library (dplyr) temp $ quartile <- ntile (temp $ valeur, 4)' s'il vous plaît laissez-moi savoir si cela fonctionne pour vous – MFR