2011-01-18 166 views
1

我有一個包含三個變量的數據集。一個連續的獨立變量,一個連續的因變量和一個二元變量,用於分析如何進行測量。使用ggplot,我知道,我可以由產品類別的彩色點的散點圖:R:用ggplot2繪製上下界

g <- ggplot(dataset, aes(independent, dependent)) 
g + geom_point(aes(color=catagory)) 

不過,我想知道是否有一種方法,使一個圖形,其中有一條垂直線正在添加了從產品類別0和一條垂直線,從產品類別1點下去的點它看起來是這樣的:

- |  | | 
| |  | | 
| |  | | 
| |  | | 
- |  | o | 
| |  | | | 
| | o | | | 
| | o | | | | 
- | | | o | o 
| | | |  | 
| o | |  | 
|  | |  | 
+----|-----|-----|-----|-----| 

之所以想這樣的情節是一類代表一個上限(點線條向下),一個代表下界(線條向上的點)。有了這些線將可以很容易想象這是這些邊界之間的區域,並繪製在上面的功能是否能準確地代表數據:

- |  | | 
| |  | | 
| |  | | 
| |  | | 
- |  | o | _____ 
| |  | |_|__/ 
| | o |_/| | 
| | o |__/| | | 
- | | /| o | o 
| _|_|/ |  | 
|/o | |  | 
|/ | |  | 
+----|-----|-----|-----|-----| 

如果有任何的方式來做到這一點使用ggplot或其他任何爲R圖庫,我很想知道如何。但是,如果不可能,我會樂於聽到其他方式來表示這些數據。根據顏色簡單地區分分類不足以強調分類的上/下限性質,以達到我的目的。

+0

sample data por favor? – Chase 2011-01-18 23:47:43

回答

2

以下內容可能適用於您,我希望我能很好地理解這個問題。

首先,爲數據幀生成一些隨機數據,因爲沒有提供樣本數據。隨機數會使情節醜,我希望它看起來與真實數據較好:根據「產品類別」

dataset <- data.frame (
    independent = runif(100), 
    dependent = runif(100), 
    catagory = floor(runif(100)*2)) 

接下來,找到劇情的上部或下部(=分鐘/值的最大值)對於每種情況:

dataset$end[which(dataset$catagory == 0)] <- max(dataset$dependent) 
dataset$end[which(dataset$catagory == 1)] <- min(dataset$dependent) 

現在,我們可以使用geom_segment()繪製數據。

g <- ggplot(dataset, aes(independent, dependent, min, max)) 
g + geom_segment(aes(x=independent, y=dependent, xend=independent, yend=end, color=catagory)) 

alt text

請注意,我還添加了+ theme_bw() + opts(legend.position = "none")參數的情節,因爲它看起來非常奇怪隨機DATAS。

+0

這看起來不錯。你完美地理解了這個問題,我很欣賞這種迴應。非常感謝。 – Wilduck 2011-01-19 05:28:22