簡體   English   中英

如何使用不同列長度的數據ggplot2構建累積密度圖?

[英]How to build a cumulative density plot using data with different column lengths, ggplot2?

我正在嘗試使用具有不同列長的數據為項目構建累積密度圖。 我想以圖形方式顯示不同樣本量的用戶之間的用水差異。 沿x軸的人口百分比(0%-100%),沿y軸的用水量(加侖)沿線分布。

所以我猜是這樣的...

WaterUse <- data.frame(A = c(S1DataCP$atotwu, S2DataCP$atotwu, S3DataCP$atotwu, S4DataCP$atotwu) )

ggplot(WaterUse, aes(x = ?, color = c("1", "2", "3", "4"))) + stat_ecdf()

數據框架是根據對四個不同數據集的查詢而構建的,這些數據集收集了該特定人口的用水量(阿托物)。 數據幀中的列長度不同,並且沒有給定順序。

讓我們創建一個不同長度的樣本數據,它通過名為atotwu的列來模擬數據框的結構。

set.seed(10)
S1DataCP <- cbind.data.frame(rnorm(50))
S2DataCP <- cbind.data.frame(rnorm(45))
S3DataCP <- cbind.data.frame(rnorm(55))
S4DataCP <- cbind.data.frame(rnorm(60))
colnames(S1DataCP) <- colnames(S2DataCP) <- colnames(S3DataCP) <- colnames(S4DataCP) <- "atotwu"

在這里,我只是將列綁定到與該站點相對應的標識符:

S1DataCP_df <- cbind(1, S1DataCP$atotwu)
S2DataCP_df <- cbind(2, S2DataCP$atotwu)
S3DataCP_df <- cbind(3, S3DataCP$atotwu)
S4DataCP_df <- cbind(4, S4DataCP$atotwu)

由於ggplot2采用長格式的數據,因此我們將行綁定到各個數據幀:

WaterUse <- rbind.data.frame(S1DataCP_df, S2DataCP_df, S3DataCP_df, S4DataCP_df)
colnames(WaterUse) <- c("Site", "atotwu")

最后畫出stat_ecdf

ggplot(WaterUse, aes(x=atotwu, colour=factor(Site))) + stat_ecdf() + labs(colour="Site")

在此處輸入圖片說明

暫無
暫無

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

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