#r #ggplot2
Вопрос:
Большое вам спасибо, ребята, за вашу помощь, я студент R и работаю с набором данных, касающихся диагностики рака молочной железы, в этом наборе данных есть переменная, которую я переименовал в «класс», которая классифицирует, есть ли у пациенток рак (1) или нет (0), и есть 30 независимых числовых переменных, которые будут использоваться для прогнозирования того, есть ли у пациентки рак или нет., Я работаю над графическим описанием данных, и я хотел бы создать прямоугольную диаграмму для каждой независимой переменной по сравнению с переменной «класс», но я хочу, чтобы она была такой, чтобы у меня был макет 6×5 или 5×6 с каждой независимой переменной по сравнению с классом, и я хочу, чтобы ось y регулировалась для масштаба каждой независимой переменной
это код для набора данных
web_db<-read.csv("https://raw.githubusercontent.com/stedy/Machine-Learning-with-R-datasets/master/wisc_bc_data.csv")
web_db$y<-ifelse(web_db$diagnosis=="M",1,0)
web_db<-web_db[,-c(1:2)]
names(web_db)[31] <- "class"
web_db$class<-as.factor(web_db$class)
Я попробовал этот фрагмент кода:
ggplot(stack(web_db), aes(x = ind, y = values))
geom_boxplot()
но он не отображает то, что я хочу, то, что я хочу, — это что-то вроде следующего отдельного графика, но в макете 6×5 или 5×6 с каждой независимой переменной в каждом слоте.
ggplot(web_db,aes(class,radius_mean))
geom_boxplot()
Большое вам спасибо, ребята, за всю помощь!!!!!
Ответ №1:
Вы хотите увидеть что-то подобное ?
код;
library(dplyr)
library(reshape2)
web_db %>%
melt(id.vars = 'class') %>%
ggplot(aes(x=class,y=value))
geom_boxplot(aes(color=class))
facet_wrap(~variable,scales = "free_y")
theme(axis.title = element_text(size=2))
Комментарии:
1. Привет, Самет, спасибо за твой ответ, это то, что я искал! Спасибо за ваше время У меня есть вопрос, почему нам нужно изменить форму? есть ли способ сделать это без этого? и во-вторых, почему на оси x «класс» не выделяется по x=1 и x=0?
2. @R_Student Вы можете удалить их, удалив
aes(color=class)
тег. Я изменил данные, потому что aes ggplot имеет один аргумент x, и он должен представлять все переменные, которые вы хотите показать. Затем я превратил их по частямfacet_wrap
. Не забудьте одобрить ответ, если это исправит вашу проблему 🙂3. @R_Student Я снова отредактировал код и построил вывод, теперь ось x показывает
class
переменную