Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 删除观察次数太少的面_R_Ggplot2_Facet - Fatal编程技术网

R 删除观察次数太少的面

R 删除观察次数太少的面,r,ggplot2,facet,R,Ggplot2,Facet,如何使用ggplot2创建刻面图,当且仅当刻面中的观察数超过某个指定阈值时,才会绘制每个刻面?探索如何用刻面中的观察数来注释每个刻面,但我希望能够指定一个阈值,其中所有观察数少于阈值的刻面都不会绘制 下面是一个简单的绘图类型示例,我想为其指定阈值: require(ggplot2) p <- ggplot(data,aes(x=xaxis)) + geom_density() p <- p + facet_grid(ab1 ~ ab2) require(ggplot2) p因为当没

如何使用ggplot2创建刻面图,当且仅当刻面中的观察数超过某个指定阈值时,才会绘制每个刻面?探索如何用刻面中的观察数来注释每个刻面,但我希望能够指定一个阈值,其中所有观察数少于阈值的刻面都不会绘制

下面是一个简单的绘图类型示例,我想为其指定阈值:

require(ggplot2)
p <- ggplot(data,aes(x=xaxis)) + geom_density()
p <- p + facet_grid(ab1 ~ ab2)
require(ggplot2)

p因为当没有足够的数据时,您希望保留空的方面(至少这是我最后一句话的意思),所以对于太小的组,您可以使用
NA
替换数据值

下面是一个示例,使用内置的
mtcars
数据帧。我们使用
dplyr
的链接操作符(
%%>%%
)按
carb
列分组,并对数据行数少于8行的所有组执行
NA
动态替换:

  library(ggplot2)
  library(dplyr)

  ggplot(mtcars %>% group_by(carb) %>%
           mutate(mpg = if(n() >= 8) mpg else NA_real_),
         aes(mpg)) + 
    geom_density() +
    facet_grid(. ~ carb)

如果要仅绘制至少具有8个观察值的面,可以执行以下操作:

  ggplot(mtcars %>% group_by(carb) %>%
           filter(n() >= 8),
         aes(mpg)) + 
    geom_density() +
    facet_grid(. ~ carb)

由于您希望在数据不足时保留空的方面(至少我在上一句话中是这么说的),因此对于太小的组,您可以将数据值替换为
NA

下面是一个示例,使用内置的
mtcars
数据帧。我们使用
dplyr
的链接操作符(
%%>%%
)按
carb
列分组,并对数据行数少于8行的所有组执行
NA
动态替换:

  library(ggplot2)
  library(dplyr)

  ggplot(mtcars %>% group_by(carb) %>%
           mutate(mpg = if(n() >= 8) mpg else NA_real_),
         aes(mpg)) + 
    geom_density() +
    facet_grid(. ~ carb)

如果要仅绘制至少具有8个观察值的面,可以执行以下操作:

  ggplot(mtcars %>% group_by(carb) %>%
           filter(n() >= 8),
         aes(mpg)) + 
    geom_density() +
    facet_grid(. ~ carb)

将数据子集,使其仅包含要打印的面的数据。如果您需要示例方面的帮助,请在问题中提供可复制的数据。将数据子集,使其仅包括您想要绘制的面的数据。如果您需要示例方面的帮助,请在您的问题中提供可复制的数据。我尝试过对数据进行子集设置,但由于数据不完全明显,所以设置错误…感谢向我演示如何设置。我尝试过对数据进行子集设置,但由于数据不完全明显,所以设置错误…感谢向我演示如何设置。