如何从 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() 

删除ggplot2中的NA值

请注意,该图会自动创建一个条形图来显示“团队”列中 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中的网格线

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注