2013-10-17 90 views
0

我有一個已繪製的數據集,我現在試圖用相應的點樣式構建圖例,點在圖上正確繪製,但圖例顯示二進制響應的相同符號組。我有點困惑,爲什麼,希望它是小事。這裏是我的代碼pch in plot with R

# data should already be loaded in from the project on the school drive 
library(survival) 
attach(lace) 
lace 

# To control the type of symbol we use we will use psymbol, it takes 
# value 1 and 2 
psymbol <- FAILURE + 1 
table(psymbol) 
plot(AGE, TOTAL.LACE, pch=(psymbol)) 
legend(0, 15, c("FAILURE = 1", "FAILURE = 0"), pch=(psymbol))] 

picture

謝謝

回答

1

pysmbol是長度n,其中n是數據點的數據集數的載體。您的legend呼叫將此整個載體傳遞到pch,其中您確實只需要長度爲2的矢量。因此,legend使用psymbol的前兩個元素作爲pch。現在,看看psymbol[1:2]。如果這不會返回兩個1 s,我會非常驚訝。我建議你做pch = unique(psymbol)。它看起來應該是一個數字向量,所以應該工作。

注意,你不需要圍繞psymbol括號在您的來電,並attach()荷蘭國際集團的目標是你快速detach()後立即除非考慮不良做法。有關替代方法,請參閱?with

+0

我對此毫無頭緒,謝謝你的回答,像魅力一樣工作。 –

+0

我最終也做了以下事情:'psymbol < - unique(FAILURE + 1)' –

+1

我不認爲你想要那個;如果在'plot()'調用之前執行此操作,則會導致'1:2'重複('1,2,1,2,1,2,...')長度爲'n'。因此,用於繪圖的符號可能不是正確的 - 因爲您之前說過,它至少會在錯誤的符號中繪製第二個觀察結果。 –