Réduire la taille des polices et centrer réduire un tableau

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Ludovic CHANE-HIME
Messages : 17
Enregistré le : 23 Jan 2007, 10:47

Messagepar Ludovic CHANE-HIME » 28 Avr 2007, 21:20

Je vous remercie et Je m'excuse car je me suis mal exprimé j'ai une ligne

Code : Tout sélectionner

rownames(t1) <- c("B1","H1","H2","H3","B2","B3","B4","H4","B5","H5","B6","H6","H7",
"B7","H8","H9","B8","H10","B9","B10",
"H11","H12","H13","H14","H15","B11","H16","H17","H18",
"B12","H19","B13","H20"
,"H21","H22","B14","H23","H24","B15","H25","B16","H26","B17",
"H27",
"B18","B19","B20","H28","B21","H29",
"B22","H30","B23","H31","B24","B25","B26","B27","H32","H33","H34",
"H35","H36","H37","B28","H38","H39","H40",
"H41","H42","B29","B30","B31","B32","H43","B33","H44","H45","H46","H47"
,"H48","B34","H49","B35","B36","B37","H50","B38","B39","H51","H52",
"B40","H53","H54","B41","H55","B42",
"H56","B43","B44","H57","H58","H59","B45","B46","B47","B48","B49",
"H60","B50","B51","H61","B52","B53","H62",
"B54","B55","B56","H63","B57","B58","B59","H64","B60","H65","H66",
"B61","H67","H68","H69","H70","B62","H71","B63",
"H72","B64","H73","B65","B66","H74","H75","B67",
"H76","B68","H77","B69","B70","H78","B71","H79","B72",
"H80","B73","H81","B74","H82","H83","H84","B75","H85",
"B76","H86","H87","B77","B78","H88","B79","B80","H89",
"H90","B81","B82","H91","B83","B84","B85","H92","B86","B87",
"H93","H94","B88","H95","B89","H96","H97","B90","B91","B92",
"B93","B94",
"B95","B96","B97","H98","B98","H99","H100","B99","H101",
"H102","B100","H103","B101","B102","B103","H104","B104",
"B105","B106","H105","B107","B108","B109","H106","H107",
"B110","B111","H108",
"B112","H109","H110","B113","B114","B115","B116","B117",
"H111","B118","H112","B119","B120","H113","B121",
"B122","B123","H114","H115","B124","H116","B125","B126",
"H117","B127","H118",
"B128","H119","B129","H120","B130","H121","H122","H123",
"B131","B132","H124","B133","H125","H126","B134",
"H127","B135","B136","H128","H129","B136","H130","B137",
"B138","H131",
"B139","H132","B140","H133","B141","H134","B142","H135",
"B143","H136","B144","H137","B145","H138","B146",
"B147","H139","B148",
"H140")


Où je répertorie toutes les hausses et les baisses
comme vous pouvez le voir il y a eu 140 hausses H140 et 148 baisses.
comme il y autant de lignes à renommer R refuse il s'arrête à H48 car il considère que dans la console de R on ne peut sur une ligne mettre autant de caractères.

donc je ne sais pas comment faire

si vous avez une solution pour que R accepte de renommer mes 289 lignes de mon tableau, je suis preneur.


Cordialement



Ludovic CHANE-HIME

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 29 Avr 2007, 15:13

je renomme régulièrement des tableaux de plus de 289 lignes et il n'y a aucun problème.
Je ne comprend pas pourquoi il ne t'accepte pas ton script.
Peut être est ce un problème de class d'objet...regardes de ce côté là et dis nous ce que tu obtiens.
Sinon s'il s'agit de faire un arbre, la fonction plclust(hclust()) permet de définir les étiquettes que l'on veut contrairement au plot(hclust())

Ludovic CHANE-HIME
Messages : 17
Enregistré le : 23 Jan 2007, 10:47

Messagepar Ludovic CHANE-HIME » 29 Avr 2007, 17:39

je vous remercie mais pourriez vous être plus clair car je n'ai pas bien compris votre réponse . La fonction hclust peut prendre les paramètres suivants et je ne vois pas comment on peut renommer?

Code : Tout sélectionner

hclust(d, method = "complete", members=NULL)

## S3 method for class 'hclust':
plot(x, labels = NULL, hang = 0.1,
     axes = TRUE, frame.plot = FALSE, ann = TRUE,
     main = "Cluster Dendrogram",
     sub = NULL, xlab = NULL, ylab = "Height", ...)


Enfin le problème de class ne peut pas exister car il bloque le renommage des lignes car il s'arrete à environ 85 valeurs (je le sais car j'ai coupé le tableau et pris une partie seulement du tableau initial)

Si vous le voulez, je peux mettre en ligne le codage que j'ai réalisé fichier txt et le script de R pour que vous vous puissiez mieux voir où est le problème

merci encore

Bonne soirée


Cordialement


Ludovic CHANE-HIME

Ludovic CHANE-HIME
Messages : 17
Enregistré le : 23 Jan 2007, 10:47

Messagepar Ludovic CHANE-HIME » 29 Avr 2007, 17:50

voici 2 liens pour charger le script et le fichier texte des données
J'ai mis deux format possible le premier compresser en rar
l'autre en 7zip

7 zip: http://rapidshare.com/files/28583761/LCH_7_Zip.7z.html

Winrar: http://rapidshare.com/files/28584172/LC ... r.rar.html

merci d'avance

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 30 Avr 2007, 07:46

bonjour,

j'ai regardé ton tableau.
Je parviens bien à renommer les lignes avec les noms que tu donnes dans un précédent post. Seul problème, je ne sais pas si c'est une erreur ou non mais tu as 2 fois le nom "B136" dans ce que tu donnes.

Code : Tout sélectionner

> nomligne
  [1] "B1"   "H1"   "H2"   "H3"   "B2"   "B3"   "B4"   "H4"   "B5"   "H5"   "B6" 
 [12] "H6"   "H7"   "B7"   "H8"   "H9"   "B8"   "H10"  "B9"   "B10"  "H11"  "H12"
 [23] "H13"  "H14"  "H15"  "B11"  "H16"  "H17"  "H18"  "B12"  "H19"  "B13"  "H20"
 [34] "H21"  "H22"  "B14"  "H23"  "H24"  "B15"  "H25"  "B16"  "H26"  "B17"  "H27"
 [45] "B18"  "B19"  "B20"  "H28"  "B21"  "H29"  "B22"  "H30"  "B23"  "H31"  "B24"
 [56] "B25"  "B26"  "B27"  "H32"  "H33"  "H34"  "H35"  "H36"  "H37"  "B28"  "H38"
 [67] "H39"  "H40"  "H41"  "H42"  "B29"  "B30"  "B31"  "B32"  "H43"  "B33"  "H44"
 [78] "H45"  "H46"  "H47"  "H48"  "B34"  "H49"  "B35"  "B36"  "B37"  "H50"  "B38"
 [89] "B39"  "H51"  "H52"  "B40"  "H53"  "H54"  "B41"  "H55"  "B42"  "H56"  "B43"
[100] "B44"  "H57"  "H58"  "H59"  "B45"  "B46"  "B47"  "B48"  "B49"  "H60"  "B50"
[111] "B51"  "H61"  "B52"  "B53"  "H62"  "B54"  "B55"  "B56"  "H63"  "B57"  "B58"
[122] "B59"  "H64"  "B60"  "H65"  "H66"  "B61"  "H67"  "H68"  "H69"  "H70"  "B62"
[133] "H71"  "B63"  "H72"  "B64"  "H73"  "B65"  "B66"  "H74"  "H75"  "B67"  "H76"
[144] "B68"  "H77"  "B69"  "B70"  "H78"  "B71"  "H79"  "B72"  "H80"  "B73"  "H81"
[155] "B74"  "H82"  "H83"  "H84"  "B75"  "H85"  "B76"  "H86"  "H87"  "B77"  "B78"
[166] "H88"  "B79"  "B80"  "H89"  "H90"  "B81"  "B82"  "H91"  "B83"  "B84"  "B85"
[177] "H92"  "B86"  "B87"  "H93"  "H94"  "B88"  "H95"  "B89"  "H96"  "H97"  "B90"
[188] "B91"  "B92"  "B93"  "B94"  "B95"  "B96"  "B97"  "H98"  "B98"  "H99"  "H100"
[199] "B99"  "H101" "H102" "B100" "H103" "B101" "B102" "B103" "H104" "B104" "B105"
[210] "B106" "H105" "B107" "B108" "B109" "H106" "H107" "B110" "B111" "H108" "B112"
[221] "H109" "H110" "B113" "B114" "B115" "B116" "B117" "H111" "B118" "H112" "B119"
[232] "B120" "H113" "B121" "B122" "B123" "H114" "H115" "B124" "H116" "B125" "B126"
[243] "H117" "B127" "H118" "B128" "H119" "B129" "H120" "B130" "H121" "H122" "H123"
[254] "B131" "B132" "H124" "B133" "H125" "H126" "B134" "H127" "B135" "B136" "H128"
[265] "H129" "B136" "H130" "B137" "B138" "H131" "B139" "H132" "B140" "H133" "B141"
[276] "H134" "B142" "H135" "B143" "H136" "B144" "H137" "B145" "H138" "B146" "B147"
[287] "H139" "B148" "H140"


Code : Tout sélectionner

microACP = read.table("MicroACP.txt",h=T)

> rownames(microACP)
  [1] "1"   "2"   "3"   "4"   "5"   "6"   "7"   "8"   "9"   "10"  "11"  "12"
 [13] "13"  "14"  "15"  "16"  "17"  "18"  "19"  "20"  "21"  "22"  "23"  "24"
 [25] "25"  "26"  "27"  "28"  "29"  "30"  "31"  "32"  "33"  "34"  "35"  "36"
 [37] "37"  "38"  "39"  "40"  "41"  "42"  "43"  "44"  "45"  "46"  "47"  "48"
 [49] "49"  "50"  "51"  "52"  "53"  "54"  "55"  "56"  "57"  "58"  "59"  "60"
 [61] "61"  "62"  "63"  "64"  "65"  "66"  "67"  "68"  "69"  "70"  "71"  "72"
 [73] "73"  "74"  "75"  "76"  "77"  "78"  "79"  "80"  "81"  "82"  "83"  "84"
 [85] "85"  "86"  "87"  "88"  "89"  "90"  "91"  "92"  "93"  "94"  "95"  "96"
 [97] "97"  "98"  "99"  "100" "101" "102" "103" "104" "105" "106" "107" "108"
[109] "109" "110" "111" "112" "113" "114" "115" "116" "117" "118" "119" "120"
[121] "121" "122" "123" "124" "125" "126" "127" "128" "129" "130" "131" "132"
[133] "133" "134" "135" "136" "137" "138" "139" "140" "141" "142" "143" "144"
[145] "145" "146" "147" "148" "149" "150" "151" "152" "153" "154" "155" "156"
[157] "157" "158" "159" "160" "161" "162" "163" "164" "165" "166" "167" "168"
[169] "169" "170" "171" "172" "173" "174" "175" "176" "177" "178" "179" "180"
[181] "181" "182" "183" "184" "185" "186" "187" "188" "189" "190" "191" "192"
[193] "193" "194" "195" "196" "197" "198" "199" "200" "201" "202" "203" "204"
[205] "205" "206" "207" "208" "209" "210" "211" "212" "213" "214" "215" "216"
[217] "217" "218" "219" "220" "221" "222" "223" "224" "225" "226" "227" "228"
[229] "229" "230" "231" "232" "233" "234" "235" "236" "237" "238" "239" "240"
[241] "241" "242" "243" "244" "245" "246" "247" "248" "249" "250" "251" "252"
[253] "253" "254" "255" "256" "257" "258" "259" "260" "261" "262" "263" "264"
[265] "265" "266" "267" "268" "269" "270" "271" "272" "273" "274" "275" "276"
[277] "277" "278" "279" "280" "281" "282" "283" "284" "285" "286" "287" "288"
[289] "289"


Code : Tout sélectionner

> rownames(microACP)=nomligne
Erreur dans `row.names<-.data.frame`(`*tmp*`, value = c("B1", "H1", "H2",  :
        les duplications dans 'row.names' ne sont pas autorisées

Cela vient de la répétition de B136. On peut s'en sortir comme ça pour nommer les lignes ( mais le problème est repoussé) :

Code : Tout sélectionner

mat_microACP = as.matrix(microACP)
rownames(mat_microACP) = nomligne
rownames(mat_microACP)
  [1] "B1"   "H1"   "H2"   "H3"   "B2"   "B3"   "B4"   "H4"   "B5"   "H5"   "B6" 
 [12] "H6"   "H7"   "B7"   "H8"   "H9"   "B8"   "H10"  "B9"   "B10"  "H11"  "H12"
 [23] "H13"  "H14"  "H15"  "B11"  "H16"  "H17"  "H18"  "B12"  "H19"  "B13"  "H20"
 [34] "H21"  "H22"  "B14"  "H23"  "H24"  "B15"  "H25"  "B16"  "H26"  "B17"  "H27"
 [45] "B18"  "B19"  "B20"  "H28"  "B21"  "H29"  "B22"  "H30"  "B23"  "H31"  "B24"
 [56] "B25"  "B26"  "B27"  "H32"  "H33"  "H34"  "H35"  "H36"  "H37"  "B28"  "H38"
 [67] "H39"  "H40"  "H41"  "H42"  "B29"  "B30"  "B31"  "B32"  "H43"  "B33"  "H44"
 [78] "H45"  "H46"  "H47"  "H48"  "B34"  "H49"  "B35"  "B36"  "B37"  "H50"  "B38"
 [89] "B39"  "H51"  "H52"  "B40"  "H53"  "H54"  "B41"  "H55"  "B42"  "H56"  "B43"
[100] "B44"  "H57"  "H58"  "H59"  "B45"  "B46"  "B47"  "B48"  "B49"  "H60"  "B50"
[111] "B51"  "H61"  "B52"  "B53"  "H62"  "B54"  "B55"  "B56"  "H63"  "B57"  "B58"
[122] "B59"  "H64"  "B60"  "H65"  "H66"  "B61"  "H67"  "H68"  "H69"  "H70"  "B62"
[133] "H71"  "B63"  "H72"  "B64"  "H73"  "B65"  "B66"  "H74"  "H75"  "B67"  "H76"
[144] "B68"  "H77"  "B69"  "B70"  "H78"  "B71"  "H79"  "B72"  "H80"  "B73"  "H81"
[155] "B74"  "H82"  "H83"  "H84"  "B75"  "H85"  "B76"  "H86"  "H87"  "B77"  "B78"
[166] "H88"  "B79"  "B80"  "H89"  "H90"  "B81"  "B82"  "H91"  "B83"  "B84"  "B85"
[177] "H92"  "B86"  "B87"  "H93"  "H94"  "B88"  "H95"  "B89"  "H96"  "H97"  "B90"
[188] "B91"  "B92"  "B93"  "B94"  "B95"  "B96"  "B97"  "H98"  "B98"  "H99"  "H100"
[199] "B99"  "H101" "H102" "B100" "H103" "B101" "B102" "B103" "H104" "B104" "B105"
[210] "B106" "H105" "B107" "B108" "B109" "H106" "H107" "B110" "B111" "H108" "B112"
[221] "H109" "H110" "B113" "B114" "B115" "B116" "B117" "H111" "B118" "H112" "B119"
[232] "B120" "H113" "B121" "B122" "B123" "H114" "H115" "B124" "H116" "B125" "B126"
[243] "H117" "B127" "H118" "B128" "H119" "B129" "H120" "B130" "H121" "H122" "H123"
[254] "B131" "B132" "H124" "B133" "H125" "H126" "B134" "H127" "B135" "B136" "H128"
[265] "H129" "B136" "H130" "B137" "B138" "H131" "B139" "H132" "B140" "H133" "B141"
[276] "H134" "B142" "H135" "B143" "H136" "B144" "H137" "B145" "H138" "B146" "B147"
[287] "H139" "B148" "H140"


On a bien les noms car mat_microACP est un objet de class "matrix" mais...

Code : Tout sélectionner

> mat_microACP.pca = dudi.pca( mat_microACP,scale=F)
Select the number of axes: 2
Warning message:
quelques 'row.names' sont dupliqués : 266 --> 'row.names' n'est PAS utilisé in: data.row.names(row.names, rowsi, i)

R ne prend pas ici les noms de lignes en considération car il ya la répétition...

on peut quand même encore faire une pirouette pour avoir nos nom de lignes comme on le veut dans les graphiques.
Pour faire le dendrogramme avec au bout les noms souhaités :

Code : Tout sélectionner

> par(cex=0.5)
> plclust(hclust(dist.dudi(mat_microACP.pca)),hang=-1,labels = nomligne)


j'ai ajouté un par(cex = 0.5) pour diviser par 2 la taille des caractères car sinon c'est trop gros et on vois rien du tout. Mais bon si tu testes comme ça tu verras que ce n'est pas beaucoup mieux...en tout cas j'ai bien les noms qui t'intéressent au bout :)

Evidemment sans la répétition de B136, les choses sont beaucoup plus simple car tu n'as plus besoin de transformer ton tableau en matrix, et ton ACP prendra en compte tes noms de lignes :)

Voilà

au fait je travaille avec R 2.4.1...on sait jamais :)

Bonne journée

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 30 Avr 2007, 07:48

Peutx tu éditer ton post où tu donnes les noms de lignes que tu veux (en haut de la page) et sauter une ligne dans ces noms pour diminuer la taille de la page du forum car là c'est pas très pratique :)

merci

au fait pour répondre à l'une de tes premières questions concernant la normalisation (centrer, réduire) d'un tableau, tu as la fonction scale() qui te fais ça

Ludovic CHANE-HIME
Messages : 17
Enregistré le : 23 Jan 2007, 10:47

Messagepar Ludovic CHANE-HIME » 30 Avr 2007, 18:16

je vous remercie pour toute vos réponses je viens de réduire comme vous me l'avez demandé la taille de la largeur de la page

moi aussi je ne trouvais pas cela très pratique et je m'en excuse.

Pour la fonction scale, je vais la tester bientôt.

Je relis votre post et je vous répond de suite car elle contient énormément d'information pratique.

La répétition de B136 est une erreur, je me suis trompé et j'ai modifié de tel façon que la dernière valeur de B est 149 maintenant.

Cordialement



Ludovic CHANE-HIME

Ludovic CHANE-HIME
Messages : 17
Enregistré le : 23 Jan 2007, 10:47

Messagepar Ludovic CHANE-HIME » 30 Avr 2007, 18:45

je vous remercie Monsieur Nicolas PERU j'ai réussi
voila comment j'ai procédé en suivant vos indications.
J'ai créé un fichier texte avec le nom des hausses et des baisses que j'ai appelé nomdeslignes.txt

Code : Tout sélectionner

mat_nomlignes = as.matrix(nomlignes)
nomlignes
rownames(microACP) = mat_nomlignes
mat_nomlignes
microACP
t1=microACP
t1 #pour vérification
pca1<-dudi.pca(t1,scale=F)# pour avoir l'analyse en composante principale Graphique des vecteurs propres
pca1


le reste du code je ne l'ai pas encore changé

merci encore sans votre aide je n'y serais pas arrivé

bonne soirée
et bonne fête à tous pour demain

Cordialement


Ludovic CHANE-HIME

Ludovic CHANE-HIME
Messages : 17
Enregistré le : 23 Jan 2007, 10:47

Messagepar Ludovic CHANE-HIME » 30 Avr 2007, 19:00

vous avez raison le dendrogramme est peu lisible même en jouant avec les valeurs de par(cex)

Il en est de même pour le cercle de corrélation. La solution pourrait être d'accroitre la valeur de d c'est à dire la distance mais je ne sais pas le faire. car ici d=0.2. En d'autre terme en changeant d'échelle.

est ce qu'il existe selon vous une méthode pour rendre ce dendrogramme plus lisible et si oui laquelle?

merci

Bonne soirée


Cordialement


LCH


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité