簡體   English   中英

您如何組合數據框列表中的多個箱形圖?

[英]How do you combine multiple boxplots from a List of data-frames?

這是來自Stack Exchange統計部分的重新發布。 我在那里問過這個問題,建議我在這里問這個問題。 所以這就是。

我有一個數據框列表。 每個數據幀具有相似的結構。 每個數據框中只有一列數字。 由於我的數據要求,每個數據幀的長度必須不同。 我想創建一個數值的箱線圖,在另一列的屬性中進行分類。 但是箱線圖應包括來自所有數據幀的信息。

我希望這是一個明確的問題。 我將盡快發布樣本數據。

山姆,

我假設這是問題的后續措施? 也許您的樣本數據將更好地說明您的需求的細微差別(“按另一列的屬性分類”部分),但是相同的melting方法應該在這里起作用。

library(ggplot2)
library(reshape2)
#Fake data
a <- data.frame(a = rnorm(10))
b <- data.frame(b = rnorm(100))
c <- data.frame(c = rnorm(1000))

#In a list
myList <- list(a,b,c)


#In a melting pot
df <- melt(myList)

#Separate boxplots for each data.frame
qplot(factor(variable), value, data = df, geom = "boxplot")
#All values plotted together as one boxplot
qplot(factor(1), value, data = df, geom = "boxplot")
a<-data.frame(c(1,2),c("x","y"))
b<-data.frame(c(3,4,5),c("a","b","c"))
boxplot(c(a[1],b[1]))

用“ 1”'si選擇我要從數據幀中移出的列。

數據框不能具有不同的列長(每列必須具有相同的行數),但是您可以告訴boxplot並行繪制多個數據集。

使用melt()函數和基礎R箱形圖:

#Fake data
a <- data.frame(a = rnorm(10))
b <- data.frame(b = rnorm(100))
c <- data.frame(c = rnorm(100) + 5)

#In a list
myList <- list(a,b,c)

#In a melting pot
df <- melt(myList)

# plot using base R boxplot function
boxplot(value ~ variable, data = df)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM