R语言如何拆分向量创建矩阵 拆分日期为日、月、年独立列
R语言拆分日期字符串为日/月/年三列矩阵的实现方法
待处理的原始日期字符串向量如下:
f <- c("20-04-2018","15-07-2021","11-11-2022","08-12-2021","28-01-2020")
基础R实现(无需安装第三方包)
直接调用内置字符串拆分函数配合行绑定即可完成需求,代码如下:
# 按"-"分隔符拆分每个日期字符串,再按行拼接为矩阵 date_matrix <- do.call(rbind, strsplit(f, split = "-")) # 为三列分别分配日、月、年对应的列名 colnames(date_matrix) <- c("日", "月", "年")
运行后得到的矩阵输出结果:
日 月 年 [1,] "20" "04" "2018" [2,] "15" "07" "2021" [3,] "11" "11" "2022" [4,] "08" "12" "2021" [5,] "28" "01" "2020"
补充说明
- 代码中
strsplit(f, split = "-")会返回一个列表,列表内每个元素是对应日期拆分后的3个字符串(顺序依次为日、月、年),do.call(rbind, ...)的作用是把列表内的元素逐行拼合为规整的矩阵结构。 - 如果后续需要对拆分后的年、月、日做数值计算,可以执行
storage.mode(date_matrix) <- "numeric"把矩阵内的字符值统一转为数值类型。
内容的提问来源于stack exchange,提问作者Daan Reitsma
相关产品推荐
相关产品推荐

