Я пытаюсь создать функцию, которая может возвращать размеры для plotly
графика параллельных координат . Короче говоря, эта функция ожидает размеры в структуре следующим образом:
df %>%
plot_ly(type = 'parcoords',
line = list(color = "blue"),
dimensions = list(
list(values = ~ column_01),
list(values = ~ column_02),
list(values = ~ column_03)
# etc...
)
)
Например, учитывая data.frame
(например, iris
), я хотел бы вернуть структуру списка, которая выглядит следующим образом:
# Desired results
list(
list(values = ~ Sepal.Length),
list(values = ~ Sepal.Width),
list(values = ~ Petal.Length),
list(values = ~ Petal.Width),
list(values = ~ Species)
)
Я близко, но у меня проблемы с formula
(~) частью:
library(tidyverse)
get_dimensions <- function(df) {
map(names(df), ~ list(values = rlang::sym(.)))
}
get_dimensions(iris) %>% str
# List of 5
# $ :List of 1
# ..$ values: symbol Sepal.Length
# $ :List of 1
# ..$ values: symbol Sepal.Width
# $ :List of 1
# ..$ values: symbol Petal.Length
# $ :List of 1
# ..$ values: symbol Petal.Width
# $ :List of 1
# ..$ values: symbol Species
В качестве альтернативы, если кто-то знает способ автоматической передачи всех столбцов элемента data.frame в качестве измерений на заговор участков, пожалуйста, сообщите!