我正在繪製某個數據的分位數分位數圖。我只想打印滿足我爲panel.qq(x,y,...)放置的條件的某些面板。僅在R格子中打印某些面板
讓我給你舉個例子。以下是我的代碼:
qq(y ~ x|cond,data=test.df,panel=function(x,y,subscripts,...){
if(length(unique(test.df[subscripts,2])) > 3){panel.qq(x,y,subscripts,...})})
這裏y是因子,x是將在X軸和y軸上繪製的變量。 Cond是條件變量。我想要的是,只打印那些通過面板功能條件的面板,這是
if(length(unique(test.df[subscripts,2])) > 3).
我希望這個信息有幫助。提前致謝。
加樣品數據,
y x cond
1 1 6 125
2 2 5 125
3 1 5 125
4 2 6 125
5 1 3 125
6 2 8 125
7 1 8 125
8 2 3 125
9 1 5 125
10 2 6 125
11 1 5 124
12 2 6 124
13 1 6 124
14 2 5 124
15 1 5 124
16 2 6 124
17 1 4 124
18 2 7 124
19 1 0 123
20 2 11 123
21 1 0 123
22 2 11 123
23 1 0 123
24 2 11 123
25 1 0 123
26 2 11 123
27 1 0 123
28 2 2 123
所以這是樣本數據。我想要的是沒有123的面板,因爲123的唯一值的數量是3,而其他的是4.再次感謝。
爲什麼你不只是數據的子集並將其傳遞給繪圖函數呢? – PavoDive
@PavoDive,這是我想嘗試的東西,但現在數據值的行爲還不完全可見。如果我要理解這種行爲,我可以輕鬆地對數據進行子集化。截至目前我所瞭解的是,數據有兩種類型,一種不具有多個值,另一種具有。這不是我數據值的內在行爲,而是數據本身。而且因爲在這個時候我不能區分,所以我沒有對數據進行描述。 – Bartha
巴爾塔,我還不確定爲什麼@PavoDive的建議不是一個好的選擇。我最近一直沒有使用面板函數,我不確定'subscripts'是指什麼,但是可以使用任意複雜的條件對數據框進行子集化。所以你可以使用類似這樣的東西:'data = test.df [length(unique(test.df [subscripts,2]))> 3,]'。 (注意最後的逗號。)你需要用其他東西來替換下標。我相信下標是指行索引,我不知道如何替換它。所以這不是一個答案,但它應該指向一個答案。 – Mars