Как визуализировать линейный график с помощью ggplot в R

#r #ggplot2

#r #ggplot2

Вопрос:

Я хочу сделать некоторый линейный график, разделенный по моделям.

Вот мой код фрейма данных:

 Jumping = c(0.99,0.97,0.99,1,1)
Lunge = c(0.89,0.99,0.99 ,1,1)
Squat = c(0.97,0.99,0.99,1,1)
Stand = c(0.95,0.99, 1,1,1)
Standing_abs = c(1,0.97,0.99,0.99,0.97)
action = c("Jumping","Lunge","Squat","Stand","Standing_abs")
model = c("Knn","Dt","DNN","RF","rbf_SVM")

result = data.frame(Jumping,Lunge,Squat,Stand,Standing_abs,row.names = model)
result
  

и
результат>

         Jumping Lunge Squat Stand Standing_abs
Knn        0.29  0.39  0.97  0.65         0.60
Dt         0.97  0.69  0.88  0.99         0.97
DNN        0.99  0.79  0.49  1.00         0.59
RF         1.00  0.77  1.00  0.91         0.39
rbf_SVM    1.00  1.00  1.00  0.58         0.97
  

Но есть некоторая проблема. Результат, который я хотел, был таким..

введите описание изображения здесь

Как я могу сделать линейный график, подобный изображению, разделенным моделями? Хорошего дня!

Комментарии:

1. Сначала вам необходимо преобразовать ваши данные в длинный формат. Вам нужны столбцы Model , Activity , Value и 25 строк.

Ответ №1:

 require(rtidy)
require(ggplot2)

result %>% 
  add_rownames("model") %>% 
  gather("Activity","value",-model) %>% 
  ggplot(aes(x=Activity,y=value,color=model,group=model))   geom_line()
  

введите описание изображения здесь

Ответ №2:

Вы можете перенести данные и использовать pivot_longer для создания строк для каждой модели.
Попробуйте:

 library(tidyverse)
data <- t(result) %>% as.data.frame %>% 
                      rownames_to_column() %>%
                      pivot_longer(cols = rownames(result),names_to = "model")

ggplot(data)   geom_line(aes(group = model, x=rowname,y=value,color=model))   xlab('Exercice')
  

введите описание изображения здесь