r - 仅使用 R 基函数将一列一分为二
问题描述
我得到了这个df:
df = data.frame(
date = c(01/01/2020, 01/02/2020, 01/03/2020),
day = c("Rain31", "Rain12", "Rain04")
)
date day
1 01/01/2020 Rain31
2 01/02/2020 Rain12
3 01/03/2020 Rain04
我想达到这个:
date day true.day
1 01/01/2020 Rain31 31/01/2020
2 01/02/2020 Rain12 12/02/2020
3 01/03/2020 Rain04 01/03/2020
我可以用分开()和联合()做到这一点
但现在,我可以只使用基本功能:(
我做了什么:(对决议不重要)
df %>%
separate(day, into = c("rain", "nday"), sep = 4 ) %>%
separate(date, into = c("day", "month_year"), sep = 3) %>%
unite(DataPrecMax, nday, month_year, sep = "")
解决方案
您可以从列中删除非数字day
并替换前 2 个字符date
。
df$true.date <- df$date
substring(df$true.date, 1, 2) <- sub('\\D+', '', df$day)
df
# date day true.date
#1 01/01/2020 Rain31 31/01/2020
#2 01/02/2020 Rain12 12/02/2020
#3 01/03/2020 Rain04 04/03/2020
数据
df = data.frame(
date = c("01/01/2020", "01/02/2020", "01/03/2020"),
day = c("Rain31", "Rain12", "Rain04"), stringsAsFactors = FALSE)
推荐阅读
- android-studio - 在 Flutter 的 Android Studio 中启用相对路径自动导入
- sql - 如何在impala中将一行结果拆分为两行
- r - 在 R 中按 ID 创建行计数
- reactjs - create-react-app 的缺点是什么?
- python-3.x - 好吧,我的 django 站点中的发布按钮有问题。它没有执行它的功能
- mysql - 获取组中每个成员最近编辑的行
- javascript - 如何在Javascript中删除字符
- amazon-web-services - 获取有权访问给定 AWS 资源的用户列表
- flutter - 有没有办法在播放 youtube 视频的视频播放器中启用控件flutter web
- typescript - Typescript API 存储库和工作单元实现(领域驱动设计)