此输入数据来自dput:
structure(list(Player = c("deGrom", "deGrom", "deGrom", "deGrom",
"deGrom", "deGrom", "deGrom", "Wheeler", "Wheeler", "Wheeler",
"Wheeler", "Wheeler", "Wheeler", "Syndergaard", "Syndergaard",
"Syndergaard", "Syndergaard", "Matz", "Matz", "Matz", "Matz",
"Matz", "Stroman", "Stroman"), GSc = c(66, 70, 77, 77, 79, 78,
79, 76, 70, 64, 70, 62, 70, 69, 73, 81, 62, 68, 62, 69, 68, 70,
63, 75)), row.names = c(NA, -24L), class = c("tbl_df", "tbl",
"data.frame"))
我有一个数据帧MetsGS3,上面有数据。
我想使用ggplot为五个玩家中的每一个创建一个折线图,并使用不同的色线。 x轴将包含数字2、4、6、8、10、12。y轴将包含游戏得分(GS2)。我希望x轴标签为Player,y轴标签为Game Score。
此代码无效,我需要帮助使其正常工作。我知道它缺少元素。
ggplot(MetsGS, aes(x=MetsGS$Player, y=GSc, colour = MetsGS$Player) + geom_line(size=1.2) + ggtitle("Mets Game Score Game Scores")
上次我在RStudio中运行上述ggplot代码时,出现此错误: “错误:表达式不完整:ggplot(MetsGS,aes(x = MetsGS $ Player,y = GSc,color = MetsGS $ Player)+ geom_line(size = 1.2)+ ggtitle(“ Mets Game Score游戏分数”)“
预先感谢, 霍华德
答案 0 :(得分:2)
我认为您的数据集中缺少一些数据。我找不到您如何将x
定义为2到12之间的数字。
因此,我假设对于每个玩家,包含玩家名称的每一行对应一个不同的游戏。因此,我使用dplyr
来创建一个新列(我将其称为数据框d
):
library(dplyr)
d %>% group_by(Player) %>% mutate(Number = seq_along(Player)*2)
# A tibble: 24 x 3
# Groups: Player [5]
Player GSc Number
<chr> <dbl> <dbl>
1 deGrom 66 2
2 deGrom 70 4
3 deGrom 77 6
4 deGrom 77 8
5 deGrom 79 10
6 deGrom 78 12
7 deGrom 79 14
8 Wheeler 76 2
9 Wheeler 70 4
10 Wheeler 64 6
# … with 14 more rows
并像这样绘制它:
library(ggplot2)
library(dplyr)
d %>% group_by(Player) %>% mutate(Number = seq_along(Player)*2) %>%
ggplot(., aes(x=Number, y=GSc, colour = Player)) +
geom_line(size=1.2) +
ggtitle("Mets Game Score Game Scores")+
scale_x_continuous(breaks = seq(2,14, by = 2))
它看起来像您要找的东西吗?如果不是,您能否澄清您的问题