[R] "text"-function: adding text in an x,y-plot

John Fox jfox at mcmaster.ca
Sun May 29 18:15:57 CEST 2005


Dear Helmut,

The problem is that you're implicitly coercing the entire data frame lab to
character, producing

> as.character(lab)
[1] "c(1, 3, 4, 5, 6, 7, 8, 9, 10, 2)"

The numbers themselves come from the numeric coding of the factor V1 in this
data frame; as.numeric(lab$V1) shows you what's going on.

Instead you could specify labels=lab$V1 in the text() command. But why put
the row names in a data frame in the first place; why not simply use
labels=rownames(out.pca)?

I hope this helps,
 John

--------------------------------
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario
Canada L8S 4M4
905-525-9140x23604
http://socserv.mcmaster.ca/jfox 
-------------------------------- 

> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch 
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Helmut 
> Kudrnovsky
> Sent: Sunday, May 29, 2005 11:08 AM
> To: r-help at stat.math.ethz.ch
> Subject: [R] "text"-function: adding text in an x,y-plot
> 
> Hello R-friends,
> 
> i have a question to the "text"-function.
> 
> a little test-dataset for better understanding:
> 
> -the dataset was imported with read.table(....,header=TRUE) 
> s1-s10 are the samplenames
> 
>      var1 var2 var3
> s1     1    1    2
> s2     2    3    1
> s3     2    2    3
> s4     5    4    3
> s5     4    2    3
> s6     6    3    2
> s7     8    5    4
> s8     7    2    1
> s9     9    3    2
> s10    8    6    4
> 
> -then i´ve performed a pincipal component analysis with prcomp
> 
> -for displaying the result in a x,y-graph i transformed 
> out.pca$x into the dataframe points
>   points <- out.pca$x
>  > points
>             PC1         PC2        PC3
> s1  -4.7055777 -0.14781544 -0.3683602
> s2  -3.1854599  0.19661476  1.5212455
> s3  -3.2687980  0.78193513 -0.6352458
> s4   0.2278948  1.00061498  0.2164108
> s5  -1.4382847  0.02500633 -0.9114340
> s6   0.6216283 -0.68606440  0.2071083
> s7   3.4951878  1.17343675 -0.3266629
> s8   1.0153619 -2.37274378  0.1978058
> s9   3.3673983 -1.82145761 -0.2071739
> s10  3.8706492  1.85047328  0.3063065
> 
> - with plot(points$PC1, points$PC2, type="n") i start a graph 
> without displaying anything at the x,y-coordinates
> 
> - i want now to display the samplenames at the right 
> x,y-coordinate;  i generated a dataframe called lab with the 
> samplenames
> 
>  > lab
>      V1
> 1   s1
> 2   s2
> 3   s3
> 4   s4
> 5   s5
> 6   s6
> 7   s7
> 8   s8
> 9   s9
> 10 s10
> 
> - i´ve studied the "text"-helppage and so i tried the following:
> 
> text(pca$PC1, pca$PC2, labels=lab)
> 
> - in the plot there is now c(1,3,4,5,6,7,8,9,10,2) displayed 
> instead of s1-s10
> 
> is out there any idea what i'am doing wrong? is there maybe 
> another way of displaying the samplenames at the right x,y-coordinate?
> 
> greetings from the sunny tirol with thanks in advance helli
> 
> platform i386-pc-mingw32
> arch     i386
> os       mingw32 - win xp
> system   i386, mingw32
> status
> major    2
> minor    1.0
> year     2005
> month    04
> day      18
> language R
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html




More information about the R-help mailing list