r - ggplot geom point, modify text -
i trying perform pca analysis using r stat module prcomp , ggplot2, sample data looks below. each car model there data in 3 columns far able generate plot using code given below.
df:
> head(car.df) honda_1_smp honda_2_smp honda_3_smp audi_1_smp audi_2_smp audi_3_smp merc_1_smp merc_2_smp s1 0.000289 0.000000 0.076095 0.056965 0.030314 0.000000 0.000000 0.028548 s2 1.588724 1.678821 0.795915 0.552910 0.503845 0.248782 0.201806 2.324172 s3 0.067802 0.068452 0.082904 0.014259 0.038896 0.044144 0.003634 0.167235 s4 0.000000 0.000000 0.000000 0.000000 0.000000 0.008724 0.000000 0.000000 s5 0.822612 1.137569 0.008302 0.025600 0.000000 0.000000 0.000000 0.000000 s6 0.025091 0.096847 0.000000 0.031416 0.024999 0.000000 0.012987 0.000000
code:
carpca = prcomp(t(car.df), center=t) summary(carpca) car12 = data.frame(pc1=carpca$x[,1], pc2= carpca$x[,2], type=rownames(carpca$x)) ggplot(car12, aes(x=pc1 , y=pc2 , col=type)) + geom_point() + geom_text(aes(label = type), hjust=0, vjust=0) + xlab("pc1 89%") + ylab("pc2 77%") + ggtitle("car")
plot
question
how group replicate headers 1 color , shape in plot , legend. meaning : each honda have same color , shape audi , merc.
i use regex (gsub) rid of replicate id "type" attribute.
car12 = data.frame(pc1=carpca$x[,1], pc2= carpca$x[,2], type=gsub("_.*$", "", rownames(carpca$x))) ggplot(car12, aes(x=pc1 , y=pc2 , col=type)) + geom_point() + geom_text(aes(label = type), hjust=0, vjust=0) + xlab("pc1 89%") + ylab("pc2 77%") + ggtitle("car")
Comments
Post a Comment