小编Sam*_*son的帖子

如何重复Grubbs测试并标记异常值

我想反复将Grubbs测试应用于一组数据,直到它不再找到异常值.我希望标记异常值而不是删除异常值,以便我可以将数据绘制为直方图,异常值为不同颜色.我已经使用了异常值包中的grubbs.test来手动识别异常值,但无法弄清楚如何循环它们并成功标记它们.我的目标输出类似如下:

X   Outlier
152.36  Yes
130.38  Yes
101.54  No
96.26   No
88.03   No
85.66   No
83.62   No
76.53   No
74.36   No
73.87   No
73.36   No
73.35   No
68.26   No
65.25   No
63.68   No
63.05   No
57.53   No
Run Code Online (Sandbox Code Playgroud)

r outliers

10
推荐指数
2
解决办法
8661
查看次数

当您无法提供色彩美感时,手动创建图例

在试图回答这个问题,以创建所希望的描绘一个方法是使用geom_dotplot来自ggplot2如下:

library(ggplot2)
library(reshape2)

CTscores <- read.csv(text="initials,total,interest,slides,presentation
CU,1.6,1.7,1.5,1.6
DS,1.6,1.7,1.5,1.7
VA,1.7,1.5,1.5,2.1
MB,2.3,2.0,2.1,2.9
HS,1.2,1.3,1.4,1.0
LS,1.8,1.8,1.5,2.0")

CTscores.m = melt(CTscores, id.var="initials")

ggplot(CTscores.m, aes(x=variable, y=value)) +
  geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03) +
  theme_bw()+coord_flip()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

为了区分这些点,只需添加颜色,但geom_dotplot颜色上的扼流圈并不会最终堆叠它们会很方便:

ggplot(CTscores.m, aes(x=variable, y=value, fill=initials)) +
  geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03,color=NA) +
  theme_bw()+coord_flip()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,可以使用hack手动添加颜色:

gg_color_hue <- function(n) {
  hues = seq(15, 375, length=n+1)
  hcl(h=hues, l=65, c=100)[1:n]
}

cols <- rep(gg_color_hue(6),4)

ggplot(CTscores.m, aes(x=variable, y=value)) +
  geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03,fill=cols,color=NA) +
  theme_bw()+coord_flip()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

不幸的是,没有传说.最重要的是,我们不能aes(fill=)尝试手动添加图例,因为它会折叠点.有没有办法在不使用的情况下添加图例aes()

r legend ggplot2

5
推荐指数
1
解决办法
228
查看次数

我怎样才能看到原始的sas宏代码?

我正在尝试调试SAS程序中使用的代码,但程序使用永久库中的宏.我找不到创建宏的代码,但我无法访问创建原始库的人员.我知道这option mprint;将向我展示宏执行的代码行,但我希望看到宏使用的所有代码,以便我可以更轻松地调试它.换句话说,如果我有生成宏的原始程序,我想拥有所有可用的信息.那可能吗?

sas sas-macro

4
推荐指数
1
解决办法
5901
查看次数

如何从ggplot2图例中删除线条美学?

我有一个情节,我想为点使用不同的颜色,但绘制基于所有点的线性回归:

library(ggplot2)

set.seed(1)

df <- data.frame(x=rnorm(100),
                 y=rnorm(100),
                 group=factor(rep(1:2,each=50)))

ggplot(df,aes(x=x,y=y,color=group)) + 
  stat_smooth(aes(group=1), method="lm", fill=NA) +
  geom_point() + theme_bw()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

问题是当我stat_smooth()用来添加回归线时,它会在图例中添加我不想要的线条.我无法覆盖颜色以从图例中删除线条,因为我需要点的颜色.如何从图例中删除线条但保留点?

r legend ggplot2

2
推荐指数
1
解决办法
687
查看次数

标签 统计

r ×3

ggplot2 ×2

legend ×2

outliers ×1

sas ×1

sas-macro ×1