提取 "MM-DD-YYY" 变量后日和年格式不正确
Incorrect day and year format after extracting "MM-DD-YYY" variable
我正在尝试根据格式为“27-02-2012”或“DD-MM-YYYY”的“日期”变量的字符串值生成日、月和年变量。
#Loading packages
library(tidyverse)
library(readxl)
library(writexl)
library(stringr)
library(textclean)
library(lubridate)
#library(zoo)
我的变量存储如下:
sapply(data_corpus, class)
post date username
"character" "character" "character"
要为日、月和年提取和生成单独的变量,我 运行 这样做:
#Converting date variable
#data_corpus$date <- as_date(data_corpus$date)
但这会将我在“日期”变量中的所有值都变成 NA。所以我也尝试了运行这个,这对月来说效果很好。
#Creating day, month, year variables
data_corpus$day <- day(data_corpus$date)
data_corpus$month <- month(data_corpus$date)
data_corpus$year <- year(data_corpus$date)
但是,像“27-02-2012”这样的日期会
提取如下,这意味着月份被正确提取,但是“年”是从原始“日期”变量中的日期值中提取的,我不确定“天”的值是如何生成的?
"date" day month year
"27-02-2012" 20 2 27
下面是创建上述 3 个变量后变量的存储方式:
sapply(data_corpus, class)
post date username day month year
"character" "character" "character" "integer" "numeric" "numeric"
我们可以使用
library(lubridate)
data_corpus$date <- dmy(data_corpus$date)
或 base R
data_corpus$date <- as.Date(data_corpus$date, "%d-%m-%Y")
我正在尝试根据格式为“27-02-2012”或“DD-MM-YYYY”的“日期”变量的字符串值生成日、月和年变量。
#Loading packages
library(tidyverse)
library(readxl)
library(writexl)
library(stringr)
library(textclean)
library(lubridate)
#library(zoo)
我的变量存储如下:
sapply(data_corpus, class)
post date username
"character" "character" "character"
要为日、月和年提取和生成单独的变量,我 运行 这样做:
#Converting date variable
#data_corpus$date <- as_date(data_corpus$date)
但这会将我在“日期”变量中的所有值都变成 NA。所以我也尝试了运行这个,这对月来说效果很好。
#Creating day, month, year variables
data_corpus$day <- day(data_corpus$date)
data_corpus$month <- month(data_corpus$date)
data_corpus$year <- year(data_corpus$date)
但是,像“27-02-2012”这样的日期会 提取如下,这意味着月份被正确提取,但是“年”是从原始“日期”变量中的日期值中提取的,我不确定“天”的值是如何生成的?
"date" day month year
"27-02-2012" 20 2 27
下面是创建上述 3 个变量后变量的存储方式:
sapply(data_corpus, class)
post date username day month year
"character" "character" "character" "integer" "numeric" "numeric"
我们可以使用
library(lubridate)
data_corpus$date <- dmy(data_corpus$date)
或 base R
data_corpus$date <- as.Date(data_corpus$date, "%d-%m-%Y")