如何从 ggplot2 的图中删除 na(带有示例)
您可以使用以下基本语法从 ggplot2 中的图中删除 NA 值:
library (ggplot2) ggplot(data=subset(df, ! is. na (this_column)), aes(x=this_column)) + geom_bar()
此特定示例创建一个条形图,并从数据框中删除名为this_column的列中出现 NA 值的所有行。
以下示例展示了如何在实践中使用此语法。
示例:从 ggplot2 的图中删除 NA
假设我们有以下数据框,其中包含有关不同球队的篮球运动员得分的信息:
#create data frame df <- data. frame (team=c('A', 'A', NA, NA, 'B', 'B', 'B', 'B'), dots=c(22, 29, 14, 8, 5, 12, 26, 36)) #view data frame df team points 1 to 22 2 to 29 3 <NA> 14 4 <NA> 8 5 B 5 6 B 12 7 B 26 8 B 36
现在假设我们尝试在 ggplot2 中创建一个条形图来可视化每个团队的出现次数:
library (ggplot2) #create bar plot to visualize occurrences by team ggplot(df, aes(x=team)) + geom_bar()
请注意,该图会自动创建一个条形图来显示“团队”列中 NA 值的出现情况。
要从图中删除此条形,我们可以使用subset()函数对数据框进行子集化,以仅包含团队列中的值不为NA的那些行:
library (ggplot2) #create bar plot to visualize occurrences by team and remove NA ggplot(data=subset(df, ! is. na (team)), aes(x=team)) + geom_bar()
该条形图仍然显示“Team”列中“A”和“B”值的出现次数,但不再包含用于显示 NA 值出现次数的条形图。
其他资源
以下教程解释了如何在 ggplot2 中执行其他常见任务:
如何删除ggplot2中的轴标签
如何删除ggplot2中的图例
如何删除ggplot2中的网格线