[R] plot data by class tag
David Winsemius
dwinsemius at comcast.net
Fri Aug 27 15:44:46 CEST 2010
On Aug 27, 2010, at 9:09 AM, arvin mer wrote:
> Hello to all,I have a data file as
This came to the list mangled because of your failure to follow
Posting Guide advice to use plain text. POST IN PLAIN TEXT.
>
> dput(temp)
structure(list(Class = structure(c(1L, 1L, 2L, 3L, 3L, 2L), .Label =
c("A",
"B", "C"), class = "factor"), V1 = c(-2, 0.9, 0.1, 4.1, 1, 1.1
), V2 = c(0, 0.7, 0.6, 0.4, 1.9, 0.5)), .Names = c("Class", "V1",
"V2"), class = "data.frame", row.names = c(NA, -6L))
> I am plotting this data in R as V1 verses V2
> > temp<-read.table('temp.dat', header=T)
> > attach(temp)> plot (V1,V2, col='red')
> > text(x=V1, y=V2, labels=Class, pos=4)
> But I want to change the 'plotting symbol' by the 'Class of the
> row' (which is A,B,C).in other words "I want to use the A,B,C
> instead of red circle and want different color for each class e.g.
> Red for 'A', Green for 'B' and so on"
> How to do that ??Thanks in advance
It would seem superfluous to plot with a character and then also label
it with characters. so see if this gets you any further. Note: I did
not attach() your dataframe, but rather used with():
with(temp, plot(V1 ,V2, col=c("red", "green", "blue")
[as.numeric(Class)]))
?plot # tells me that one cannot use a vector of characters for
plotting symbols
with(temp, text(x=V1, y=V2, labels=Class, pos=4))
# If you wanted to plot as characters you could use text after
plotting blanks I suppose.
with(temp, text(x=V1, y=V2, labels=Class, col=c("red", "green", "blue")
[as.numeric(Class)]))
> Regards
> Arvind
>
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list