繁体   English   中英

用 R 中的置信区间绘制平行坐标

[英]Plotting parallel coordinates with confidence intervals in R

是否有 R 包允许绘制具有置信区间的平行坐标? 就像下面的例子。

或者什么是最简单的选择? 制作多个ggplots并与ggarrange或patchwork并排打印?

在此处输入图片说明

生成的数据

library(tidyverse)

set.seed(1)

#make new data
df = tibble(
  factor= c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O"),
  var1 = rnorm(15, 50, 20),
  var2 = rnorm(15, 10, 4),
  var3 = rnorm(15, 2, 1))

#add confidence intervals
df = df %>% mutate(
  var1_lower = var1 - runif(1, 5, 15),
  var1_upper = var1 + runif(1, 5, 15),
  var2_lower = var2 - runif(1, 0.5, 2.2),
  var2_upper = var2 +  runif(1, 0.5, 2.2),
  var3_lower = var3 - runif(1, 0.1, 0.6),
  var3_upper = var3 + runif(1, 0.1, 0.6))

#reorder columns
df = df[c("factor", "var1", "var1_lower", "var1_upper", "var2", "var2_lower", "var2_upper", "var3", "var3_lower", "var3_upper")]

在此处输入图片说明

有两个库可让您绘制平行坐标图。

  1. GGally
  2. 大量的
  3. 格帕奇

我相信 ggparci 最适合您的问题。 因为它允许您用数据绘制置信区间。 我在上面的评论中给出了图书馆文档的链接。

但是,我提到休息二是为了每个人的利益。

在 GGally 库中,您可以使用

ggparcoord(df, columns=1:10, groupColum = 5)

GGally 具有用于进一步处理绘图的比例选项。

我在没有任何处理的情况下绘制了 df ,它看起来像: 在此处输入图片说明

在 MASS 库中有一个名为parcoord()的函数

使用示例:

# MASS library
library(MASS)

# Color
color <- colors()[as.numeric(iris$Species)*11]

# Plot
parcoord(iris[,c(1:4)] , col= color)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM