[英]Is it possibly to make a box plot from these data outside of a data frame, using ggplot2?
我將如何在 ggplot2 函數中使用這些向量,例如創建散點圖或箱線圖? 我想我需要將它們實現到數據框中,如果是這樣,我該怎么做?
> am_C <- c(56.44898,62.85714,53.91837,64.65306,74.28571,69.40816,60.79592,54.07576,59.87879,56.90909,69.39394,72.90909,77.36364,62.30303,59,54.46429,60.4,63.63571,70.82143,71.3,61.07143,74.62222,66.24444,67.46667,66.41481,67.7037,77.69259,64.81111)
> am_O <- c(65.26923,69.11111,70.88235,65.36364,65.75,66.8,72.72727,70.15385,69.58,70.71667,72.8,65.28571,65.875,77.4,72.64706,67.83333)
首先,我要指出的是,您的向量長度不同,因此,如果一個是 x,一個是 y,那么您將有一堆無法繪制。
如果你讓它們的長度相同,那就變得相當簡單了。
library(ggplot2)
am_C <- c(56.44898,62.85714,53.91837,64.65306,74.28571,69.40816,60.79592,54.07576,59.87879,56.90909,69.39394,72.90909,77.36364,62.30303,0,0)
am_O <- c(65.26923,69.11111,70.88235,65.36364,65.75,66.8,72.72727,70.15385,69.58,70.71667,72.8,65.28571,65.875,77.4,72.64706,67.83333)
ggplot(data.frame(am_C,am_O),aes(x=am_C, y=am_O)) + geom_point()
如果這些不是 X 和 YI 將需要一些澄清。
正如@JonSpring 所提到的,根據兩個向量之間的長度差異,散點圖是不合適的,所以讓我們嘗試一個箱線圖:
箱線圖(使用圖)
首先,您可以通過以下方式快速前進:
boxplot(am_C, am_O, names = c("am_C","am_O"))
箱線圖(使用 ggplot2)
或者,您可以使用庫ggplot2
制作美觀且高度個性化的箱線圖。 但是,您需要重新排列數據以適應ggplot2
語法。 簡而言之,您應該有兩列,一列用於標簽,一列用於值。
library(ggplot2)
df <- data.frame(Value = c(am_C, am_O),
Variable = c(rep("am_C",length(am_C)),rep("am_O",length(am_O))))
ggplot(data =df, aes(x = Variable, y = Value)) +
geom_boxplot()
一開始, ggplot2
並不是很容易使用,但是你會得到它,你將無法沒有。 在這里,僅舉幾個可能的自定義示例:
# fill with color
ggplot(data =df, aes(x = Variable, y = Value, fill = Variable)) +
geom_boxplot()
# customize color filling:
ggplot(data =df, aes(x = Variable, y = Value, fill = Variable)) +
geom_boxplot() +
scale_fill_manual(values = c("green", "orange"))
# add individual point on top of it:
ggplot(data =df, aes(x = Variable, y = Value)) +
geom_boxplot() +
geom_jitter(width = 0.2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.