Я пытаюсь получить интерактивную матрицу рассеяния для ~ 5 переменных. Мне интересно посмотреть, как наблюдения каждой из них соотносятся друг с другом, а также определить и идентифицировать выбросы.Проблема в том, что plotly
ведет себя непредсказуемо, по моему мнению.
#sample data
sample_data <- data.frame(Class = sample(x= letters[1:15],size=50,replace = TRUE),
Sample_number = seq(1,50,by=1),
x1= rnorm(50,mean=0, sd=.5),
x2= rnorm(50,mean=0.5, sd=1.5),
x3= rnorm(50,mean=5, sd=.1),
x4= rnorm(50,mean=0, sd=3.5),
x5= rnorm(50,mean=-6, sd=.005))
#creating the standard plot
p1 <- ggpairs(data=sample_data, # data.frame with variables
columns=3:7, # columns to plot, default to all.
title=paste0("Variable Correlations"), # title of the plot
aes(color = Class, text=Sample_number),
progress = FALSE) +
theme_bw()
#creating the interactive plot
ggplotly(p1)
Пример 1
Матрица с обоими треугольниками выглядит следующим образом
Я получаю следующие предупреждения
Warning messages:
1: Groups with fewer than two data points have been dropped.
2: Groups with fewer than two data points have been dropped.
3: Can only have one: highlight
Пример 2
Однако, когда я переключаюсь на просмотр только одного треугольника матрицы, это дает мне те же предупреждения, что и выше:
p2 <- ggpairs(data=sample_data, # data.frame with variables
columns=3:7, # columns to plot, default to all.
title=paste0("Variable Correlations"), # title of the plot
aes(color = Class, text=Sample_number),
uppper=list(continuous="points"),
lower="blank",
progress = FALSE)+
theme_bw()
ggplotly(p2)
![enter image description here](https://i.stack.imgur.com/ATP8B.jpg)
Объектив
Но если бы я использовал только стандартный (неинтерактивный) вывод ggpairs
, это выглядело бы довольно неплохо:
На этот раз я толькополучить Warning messages: 1: Groups with fewer than two data points have been dropped.
Было бы замечательно, если бы у кого-то были идеи о том, как создать подзаголовок ploty
так же, как стандартный пример ggpairs
, чтобы включить интерактивность.