【问题标题】:Plotting grouped variables in line plot r在线图 r 中绘制分组变量
【发布时间】:2020-03-11 11:04:39
【问题描述】:

我正在尝试构建不同股票的细分市场随时间变化的图表。为此,我想创建一个折线图,显示随着时间的推移有多少股票处于小盘股、中盘股和大盘股中。

我的数据是这样的

ISIN Date Ticker MarketSeg 1 BSP951331318 31-01-2010 UIE Medium 2 BSP951331318 28-02-2010 UIE Medium 3 BSP951331318 31-03-2010 UIE Medium 4 BSP951331318 30-04-2010 UIE Medium 5 BSP951331318 31-05-2010 UIE Medium 6 BSP951331318 30-06-2010 UIE Medium 7 BSP951331318 31-07-2010 UIE Medium 8 BSP951331318 31-08-2010 UIE Medium

到目前为止,我的代码如下所示。

CombData <- CombData %>% group_by(Date) %>%
count(CombData$MarketSeg)
ggplot(data = CombData, aes(x=Date, y=, group=CombData$MarketSeg, color=CombData$MarketSeg))

因此,我需要一种方法来计算按日期变量分组的每个段中的金额,以便我可以输入 y 变量,因为我当前的代码不适用于计数

【问题讨论】:

    标签: r ggplot2 dplyr


    【解决方案1】:

    如果我做对了,这应该会给你你想要的(我认为添加一个包含计数数据的附加列会更容易):

    CombData <- CombData %>% 
      group_by(Date, MarketSeg) %>%
      mutate(count_seg = n())
    
    ggplot(data = CombData, aes(x=Date, y= count_seg, group=MarketSeg, color=MarketSeg)) +
      geom_line()
    

    数据:

    structure(list(ISIN = c("BSP951331318", "BSP951331318", "BSP951331318", 
    "BSP951331318", "BSP951331318", "BSP951331318", "BSP951331318", 
    "BSP951331318"), Date = c("31.01.10", "28.02.10", "31.03.10", 
    "30.04.10", "31.05.10", "30.06.10", "31.07.10", "31.08.10"), 
        Ticker = c("UIE", "UIE", "UIE", "UIE", "UIE", "UIE", "UIE", 
        "UIE"), MarketSeg = c("Medium", "Medium", "Medium", "Medium", 
        "Medium", "Medium", "Medium", "Medium"), count_seg = c(1L, 
        1L, 1L, 1L, 1L, 1L, 1L, 1L)), class = c("grouped_df", "tbl_df", 
    "tbl", "data.frame"), row.names = c(NA, -8L), groups = structure(list(
        Date = c("28.02.10", "30.04.10", "30.06.10", "31.01.10", 
        "31.03.10", "31.05.10", "31.07.10", "31.08.10"), MarketSeg = c("Medium", 
        "Medium", "Medium", "Medium", "Medium", "Medium", "Medium", 
        "Medium"), .rows = list(2L, 4L, 6L, 1L, 3L, 5L, 7L, 8L)), row.names = c(NA, 
    -8L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE))
    

    希望这会有所帮助!

    【讨论】:

    • 嗨!如果我能够帮助您并且您对我的回答感到满意 - 您可以将我的回答标记为正确吗?谢谢!
    猜你喜欢
    • 2020-08-15
    • 2017-09-24
    • 2019-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    相关资源
    最近更新 更多