两个以上变量对一个额外变量的直方图

  • 本文关键字:变量 直方图 一个 两个 r
  • 更新时间 :
  • 英文 :


我有一个问题。我想创建一个包含 4 个不同变量的直方图(4 个变量是指学生的工作量(例如阅读文章的时间(而不是另一个变量(学习计划(。

我使用以下代码尝试了它并收到错误消息,该函数"over"找不到。但是我安装了所有必需的软件包。

hist(c(Workload_FSS18$Q_59953122, Workload_FSS18$Q_59953124, Workload_FSS18$Q_59953126, Workload_FSS18$Q_59953128), over(bpsy), breaks = 10)

我以这种方式尝试了:

if(Workload_FSS18$Q_59953156 == "B.Sc. Psychologie"){ hist(c(Workload_FSS18$Q_59953122, Workload_FSS18$Q_59953124, Workload_FSS18$Q_59953126, Workload_FSS18$Q_59953128)) }

我希望你明白我的意思,有人可以帮助我。

提前谢谢。

根据您的描述,我认为这应该会有所帮助。 将来,请务必添加一些虚拟数据,以便我们更好地了解源数据的外观。

我假设您的数据看起来像这样:

fake_data = data.frame(number_of_classes = c(rnorm(50, mean = 7), rnorm(50, mean = 10)),
hours_studying = c(rnorm(50, mean = 15), rnorm(50, mean = 10)), 
homework_assignments = c(rnorm(50, mean = 10), rnorm(50, mean = 7)), 
study_program = c(rep('biology',50),rep('math',50)))`

对于 ggplot,数据通常最好以长格式表示: fake_data_long = data.table::melt(fake_data,id.vars = c('study_program'), measure.vars = c("number_of_classes", "hours_studying", "homework_assignments"))

从这里,您可以有一个重叠的直方图(我的偏好( ggplot(fake_data_long, aes(x=value, fill = study_program)) + geom_histogram() + facet_grid(variable ~ .)

或非重叠直方图: ggplot(fake_data_long, aes(x=value, fill = study_program)) + geom_histogram() + facet_grid(variable ~ study_program)

最新更新