2016-04-05 20 views
0

Ggplot2 ile biraz kafam karıştı. Verilerimi çizdim ve arsada bazı eksik veriler var ama efsanede değil. Aslında, çizilecek 40 tane (FID) grubum var ve bazıları eksik.ggplot2 kullanarak arsada eksik veri

Data48a <- read.table("Data48a.eigenvec", header = T, sep = "") 

PlotData48a <- ggplot(Data48a, aes(x= PC1,y= PC2, group= FID, shape= FID, color= FID)) 

PlotData48a + geom_point(aes(color=FID)) + 
    geom_hline(aes(yintercept=0)) + geom_vline(aes(xintercept=0))+ 
    scale_shape_manual(values=1:nlevels(Data48a$FID)) + 
    scale_color_manual(values=1:nlevels(Data48a$FID)) + 
    coord_equal(ratio = 1) 

ve burada hatadır: My kodudur

In grid.Call.graphics(L_points, x$x, x$y, x$pch, x$size) : unimplemented pch value '28'  

Benim veri gibidir:

FID IID PC1 PC2 PC3  
Ami AX-AM-013607-1-01 0.0302889 -0.0236855 0.0294569  
Ami AX-AM-013608-1-01 0.0346382 -0.0232841 0.0175366  
Ami AX-AM-013609-1-01 0.0396438 -0.0157996 0.0163948  
Ami AX-AM-013610-1-01 0.0386903 -0.017313 0.0146025  
Ami AX-AM-013611-1-01 0.0382764 -0.0151733 0.0222798  
Ami AX-AM-013613-1-01 0.0416853 -0.00826403 0.0245685  
Ami AX-AM-013614-1-01 0.0388888 -0.0113679 0.0281065  
Ami AX-AM-013615-1-01 0.0438035 -0.0102871 0.0156296  
Ami AX-AM-013616-1-01 0.0364263 -0.0211585 0.0246802  
BatakKaro ID-KR-000001-1-01 0.0321929 0.00520535 0.00480784  
BatakKaro ID-KR-000002-1-01 0.0345291 -0.00101008 -0.00264379  
BatakKaro ID-KR-000012-1-01 0.0352078 -0.000998926 -0.00847158  
BatakKaro ID-KR-000014-1-01 0.0306035 -0.00150602 -0.00365927 
+2

http://sape.inf.usi.ch/quick-reference/ggplot2/shape o her biri için benzersiz bir şekil bulamazsa, böylece insanlar sadece FID iki birçok seviyeleri vardır – OganM

+2

senin nesne yapıştırmak kopyalayabilirsiniz böylece dput kullanmayı deneyin verilerini paylaşma. – scoa

+0

Cevabınız için hepinize teşekkür ederiz. Daha kolay hale getirmek için grubun sayısını azalttım. –

cevap

0

bu tüm sorunu çözecektir eğer bilmiyorum ama Bu, hatanın kaynağını vurgulamalıdır.

40 veri veya grup düzeyini çizmeye çalışıyorsunuz, ancak yalnızca 25 çizim karakteri var (pch). Hataları kaldırmak için, grup sayısını 25 veya daha az sınırlamanız gerektiğini düşünüyorum.

require(ggplot2) 

# no error 
xx = 1:25 
ggplot() + geom_point(aes(x = xx,y = xx), col=xx,shape=xx) 

# error 
xx = 1:26 
ggplot() + geom_point(aes(x = xx,y = xx), col=xx,shape=xx) 
+0

Cevabınız için hepinize teşekkür ederiz. Daha kolay hale getirmek için grubun sayısını azalttım. –

0

uygulanmamış pch değeri '28':

Yasal şekil değerler sayılar 0 ila 25 ve sayılardır 32

Size 40 şekiller var gibi görünüyor 127 ye (0..39)?

Ayrıca bkz

+0

Teşekkür ederim RDW. Senaryoyu özellikle x ve y eksenlerini tanımlayanların şekillerde nasıl kullanıldığını tam olarak anlamadım. –