Boxplot с несколькими переменными в нескольких наборах данных с одной и той же группой в r - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть 2 переменные в 2 разных наборах данных, организованных в одинаковых последовательностях

df1:

LoopGW    NPV         Model
1          200         1
2          300         1

df2:

LoopGW    NPVadjusted        Model
1            300              3
2            400              3

Я пробовал это:

boxplot(NPV ~ loopGW, data = df1)
boxplot(NPVadjusted ~ loopGW, data= df2, add = TRUE)

Но я получил блокпост с перекрытием.

enter image description here

Я хочу, чтобы все четыре боксплота были разделены и раскрашены по модели,Может ли кто-нибудь помочь, пожалуйста?Большое спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

Вы на самом деле не предоставили воспроизводимый пример, поэтому я просто работал с тем, что у меня было.Надеюсь, он делает то, что вы хотите.Возможно, есть и лучшие способы добраться до этого, но я так и сделал:

library(tidyr)
library(ggplot2)

#read the data
df1 <- read.table(text = "
LoopGW    NPV         Model
1          200         1
2          300         1", stringsAsFactors = FALSE, header = TRUE)

df2 <- read.table(text = "
LoopGW    NPVadjusted        Model
1            300              3 
2            400              3", stringsAsFactors = FALSE, header = TRUE)

#preparing the data.frames for binding so no information gets lost.
d1g <- gather(df1, key = "NPV_flag", value = "NPV", -Model, -LoopGW)
d2g <- gather(df2, key = "NPV_flag", value = "NPVadjusted", -Model, -LoopGW)

#binding the two data.frames
d12g <- rbind(d1g, setNames(d2g, names(d1g)))

#create the groups after which to seperate
d12g$Model_Loop <- paste(d12g$Model, "_", d12g$LoopGW, sep = "")

#Model as factor
d12g$Model <- as.factor(d12g$Model)

#Plot with ggplot
ggplot(d12g, aes(x = Model, y = NPV, group = Model_Loop, color = Model)) + geom_boxplot()

И вот результат.Вы должны представить 4 хороших коробочных сюжета там.^^

enter image description here

Я надеюсь, это то, что вы хотите.4 Бокплота, разделенных Loop и Model?И раскрашены по модели.

...