【问题标题】:How to wrangle the data using Lubridate package and Regex instead of using the separate function?如何使用 Lubridate 包和正则表达式而不是使用单独的函数来处理数据?
【发布时间】:2020-04-22 08:24:34
【问题描述】:

https://www.kaggle.com/shivamb/netflix-shows-and-movies-exploratory-analysis/data ---- 包含数据集。

这是对 Netflix 数据集中的节目进行的探索性数据分析。数据整理过程有两个主要目标。首先是从 date_added 列中单独获取年份部分。其次是创建一个新列,其中包含持续时间列中特定节目的季节数。我依靠dplyr 包中的separate 函数来实现上述两个目标。

代码如下:-

# Neitlix EDA ----
# https://www.kaggle.com/shivamb/netflix-shows-and-movies-exploratory-analysis

library(tidyverse)
library(lubridate)    

net_flix <- read.csv("netflix_titles_nov_2019.csv")

net_flix_wrangled_tbl <- net_flix %>%
    separate(date_added, 
             into = c("date","month","year"),
             sep = "-",
             remove = FALSE)%>%
    separate(duration,
             into = c("count","show_type"),
             sep = " ",
             remove = FALSE)%>%
    glimpse()

不想下载数据的可以使用下面包含的数据框代码:

sf <- data.frame(date_added = c("30-11-19", "29-11-19", "", "12-07-19", "", "16-09-19"), 
duration = c("1 Season", "67 min", "135 min", "2 Seasons", "107 min", "3 Seasons"))

输出与separate() 函数一起使用,用于获取日期并从持续时间列中过滤季节数。

但是通过使用 lubridate 包来获取年份并使用 ifelse()filter()Regex 函数来获取季节数而不是分钟电影?

【问题讨论】:

    标签: r regex dplyr lubridate data-wrangling


    【解决方案1】:

    这是另一种选择:

    library(dplyr)
    library(lubridate)
    
    
    sf %>%
      mutate(date_added = dmy(date_added), 
             date = day(date_added), month = month(date_added),
             year = year(date_added), 
             count = readr::parse_number(as.character(duration)),
             show_type = stringr::str_remove(duration, as.character(count)))
    
    
    #  date_added  duration date month year count show_type
    #1 2019-11-30  1 Season   30    11 2019     1    Season
    #2 2019-11-29    67 min   29    11 2019    67       min
    #3       <NA>   135 min   NA    NA   NA   135       min
    #4 2019-07-12 2 Seasons   12     7 2019     2   Seasons
    #5       <NA>   107 min   NA    NA   NA   107       min
    #6 2019-09-16 3 Seasons   16     9 2019     3   Seasons
    

    【讨论】:

      猜你喜欢
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2014-02-19
      • 2012-01-06
      • 2011-11-06
      相关资源
      最近更新 更多