簡體   English   中英

我重疊的ggplot2密度圖中有一個額外的密度

[英]There is an extra density in my overlapped ggplot2 density plots

我在R中使用ggplot2覆蓋了兩個密度圖。 我正在使用以下命令:

data$stateOwned  <- data$govtShare > 0
ggplot(subset(data,leverageEq < 3),aes(leverageEq)) + geom_density(aes(fill = stateOwned),alpha=0.4)

請注意,密度幾何的填充變量是邏輯的,因此我無法解釋為什么我的圖具有三個密度,請注意,圖例僅采用兩個值:

在此處輸入圖片說明

有人可以幫忙嗎?

編輯:這是數據: https : //www.dropbox.com/s/x74jsw1n3hfca5d/allMerged.csv

fill變量( stateOwned )中的NA值導致顯示“額外”圖。 刪除它們,您將獲得期望的兩個圖。 這是一個可重現的小示例:

# Data
dat = structure(list(leverageEq = c(0.733, 4.676, 4.676, 1.663, 0.051, 
1.47, 0.092, 0.526, 1.208, 1.663, 0.288, 0.122, 0.36, 0.339, 
0.589, 0.6, 0.212, 0, 0.141, 1.47, 0.28, 0.092, 0.421, 0, 0.098, 
1.098, 0.505, 0.204, 1.253, 0.481), stateOwned = c(NA, NA, "N", 
NA, NA, "Y", NA, NA, NA, "Y", NA, NA, "Y", NA, "Y", NA, NA, "Y", 
"Y", "Y", "N", NA, "Y", "Y", "N", "N", "N", "N", NA, "N")), .Names = c("leverageEq", 
"stateOwned"), row.names = c(NA, 30L), class = "data.frame")

# Plot with NA values included (Results in three density plots)
ggplot(dat,aes(leverageEq)) + geom_density(aes(fill=stateOwned),alpha=0.4)

# Plot without NA values included (Results in two density plots)
ggplot(dat[!is.na(dat$stateOwned),],aes(leverageEq)) +
       geom_density(aes(fill=stateOwned),alpha=0.4)

暫無
暫無

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

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