簡體   English   中英

R ggplot省略NA

[英]R ggplot omit NA

我正在嘗試在R中進行ggplots。我的數據集有幾行帶有NA的一個或多個變量。 如何獲得不顯示在圖表上的NA? 這是我的代碼:

met$marker_Degree2 = factor(met$marker_Degree, levels=c("none", "weak"))
p4 <- ggplot(met, aes(factor(marker_Degree2), avgtsh))
p4 + ggtitle('Serum marker and Tumor marker') +
geom_point(shape=21, size=4, aes(color=factor(marker_Degree2))) +
scale_color_manual(values = c("orange", "green")) +
theme_bw() +
xlab("Marker Tissue Staining Degree") +
ylab("Mean marker Level in Serum")

這是一個例子

mydata <- data.frame(income=c(50000,NA,10000,30000), y=c("male", "female", NA, "female"))
p <- ggplot(mydata, aes(x,z))
p + geom_point()

請注意,numerical()數據的NA會自動隱藏,而character()數據則不會自動隱藏,因此會顯示NA。 所以你需要做這樣的事情。

plot_row <- apply(mydata, 1, function(x) sum(!is.na(x))) == ncol(mydata)
p <- ggplot(mydata[plot_row,], aes(x,z))
p + geom_point()

處理您提供的示例的一種方法如下:

mydata <- data.frame(income=c(50000,NA,10000,30000), y=c("male", "female", NA, "female"))
p <- ggplot(mydata, aes(income,y))
p + geom_point(na.rm = TRUE) + ylim(labels=c("male", "female"))

或者,

采用:

ggplot(na.omit(mydata), aes(income,y))

暫無
暫無

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

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