#r #ggplot2
#r #ggplot2
Вопрос:
У меня есть следующий набор данных, называемый payoffs
.
dput(payoffs)
structure(c(8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 0, 0, 0,
0, -0.5, -1, -1, -1, -1, 2, 1.5, 1, 0.5, 0, 0.5, 1, 1.5, 2), .Dim = c(9L,
3L), .Dimnames = list(NULL, c("s", "strat1", "strat2")))
Моя цель — отобразить 2-й и 3-й столбцы в 2 разных строках в ggplot по оси y, а первым столбцом будет ось x. Итак, я использую melt
функцию следующим образом:
m_payoffs <- melt(payoffs, id= c(2,3))
Однако я не знаю, как я могу отобразить 2 столбца «strat1» и «strat2» с правильной осью x сейчас? Предполагается, что моя ось x x <- seq(8,12,by=0.5)
равна. Может кто-нибудь любезно показать мне, что я могу отобразить 2 столбца с помощью ggplot, сохранив правильную ось x в ggplot, пожалуйста? Спасибо.
Var1 Var2 value
1 1 s 8.0
2 2 s 8.5
3 3 s 9.0
4 4 s 9.5
5 5 s 10.0
6 6 s 10.5
7 7 s 11.0
8 8 s 11.5
9 9 s 12.0
10 1 strat1 0.0
11 2 strat1 0.0
12 3 strat1 0.0
13 4 strat1 0.0
14 5 strat1 -0.5
15 6 strat1 -1.0
16 7 strat1 -1.0
17 8 strat1 -1.0
18 9 strat1 -1.0
19 1 strat2 2.0
20 2 strat2 1.5
21 3 strat2 1.0
22 4 strat2 0.5
23 5 strat2 0.0
24 6 strat2 0.5
25 7 strat2 1.0
26 8 strat2 1.5
27 9 strat2 2.0
Комментарии:
1. Похоже, вы неправильно плавите. Я думаю, вы хотите
m_payoffs <- melt(payoffs, id= 1)
. Вы хотите, чтобы ваша ось x находилась в одном столбце, а ваша ось y — в другом столбце (в данном случае в третьем столбце указывается группировка разных строк).2. ДА. Я попробовал это. Но тогда как я могу отобразить эти 2 столбца в ggplot? Похоже, что после этого оба моих значения по оси x и оси y находятся в одном столбце.
3. О, только что понял, что у вас есть матрица. Используйте
m_payoffs <- melt(as.data.frame(payoffs), id= 1)