使用ggparcoord在平行坐标图中标记异常值

时间:2017-02-16 08:28:30

标签: r plot charts ggplot2 parallel-coordinates

我试图在平行坐标图中突出显示异常数据点。这就是我的数据框的外观:

使用以下代码,

library(devtools)
install_version("MMST", version = "0.6-1.1", repos = "http://cran.us.r-project.org")
MMST.out(dest.folder = '.',datasets='bodyfat')
ggparcoord(data = bodyfat, alphaLines = 0.2)

这是我的情节目前的样子: ParCoord Plot

我想用不同的颜色标记一个异常线(在上图中看到)。我如何使用ggplot2实现这一目标?

1 个答案:

答案 0 :(得分:0)

如上面的评论中所述,我从ggparcoord中的数据中提取异常值并分别绘制它们。这是现在的新代码:

library(devtools)
install_version("MMST", version = "0.6-1.1", repos = "http://cran.us.r-project.org")
MMST.out(dest.folder = '.',datasets='bodyfat')
a=ggparcoord(data = bodyfat, alphaLines = 0.2)
out1=which.max(a$data[a$data$variable=='hip',]$value)
out2=which.max(a$data[a$data$variable=='ankle',]$value)
df1=a$data[a$data$.ID==out1,]
df2=a$data[a$data$.ID==out2,]
a + geom_line(data = df1 ,aes(y=value), color='red', alpha=0.5) +
geom_line(data = df2 ,aes(y=value), color='blue', alpha=0.5)

这就是输出的外观:

PCP with highlighted outliers

感谢您的帮助。