首页 > 解决方案 > R只查看上半年

问题描述

我是 R 新手,并且已经完成了一项作业,对一组数据进行一些基本分析,即 IPO 数据和 Covid-19 对其的影响。当然,我没有上过 R 的任何课程,所以这种“把他扔进游泳池,让他学会游泳”的情况。

于是查了一些教程,就是想不通:每年上半年(2017-2020)我只需要比较一下,就是不知道怎么消除所有不在里面的那个时候来自我的数据框。(即 8 月到 12 月的 IPO。)我会怎么做。

这是我的数据集的 head(),至少是 R 给我的

    # A tibble: 3 x 16
  ExchangeName CompanyName CurrencyCode ListingVenue ListingDate  Year Month `Domestic/Forei~ `Sector of Acti~
  <chr>        <chr>       <chr>        <chr>        <chr>       <dbl> <chr> <chr>            <chr>           
1 Hong Kong E~ SH Group (~ HKD          MAIN         2017-01-03   2017 Jan   Domestic         Other           
2 Shanghai St~ Central Ch~ CNY          Shanghai St~ 2017-01-03   2017 Jan   Domestic         other           
3 Shanghai St~ Zhejiang H~ CNY          Shanghai St~ 2017-01-03   2017 Jan   Domestic         other           
# ... with 7 more variables: `ISIN/CUSIP/Other` <chr>, Region <chr>, `Country of Incorporation` <chr>, `Market
#   Capitalisation on 1st trading day` <chr>, `Capital raised through IPO (Newly issued shares)` <chr>, `Capital raised
#   through IPO (Already issued shares)` <chr>, `Capital raised through IPO (Total)` <chr>

提前感谢您的帮助。我真的迷失了

标签: r

解决方案


首先,我会将您ListingDate转换为一个POSIXct对象(这只是一种以自己的格式而不是文本存储日期和时间的方法)并选择第一学期。使用包ludibriate,你可以做到这一点(我从这个地方得到灵感

data <- data[semester(as.POSIXct(data$ListingDate, format = "%Y-%m-%d")) == 1,]

请注意,在将字符串转换为semester()带有. 这一切的每一部分都可以用不同的方式完成。例如,您可以使用而不是. 实际上,我很确定最好使用,它也是 from ,只是因为它更简单。我只是没有输入我的主要答案,因为我不习惯它,但如果你愿意,请这样做:ludibriateas.POSIXctymd()as.POSIXct(..., format = "%Y-%m-%d")ymd()ludibriate

data <- data[semester(ymd(data$ListingDate)) == 1,]

推荐阅读