r - 如何使用 strsplit() 重新格式化列
问题描述
在我的 r 数据框中,我有一列如下所示:
df$Year
"Cumulative.12.2013.Actual"
"Cumulative.12.2014.Actual"
"Cumulative.12.2015.Actual"
"Cumulative.12.2016.Actual"
"Cumulative.12.2017.Actual"
"Cumulative.12.2018.Actual"
"Cumulative.12.2019.Actual"
"Cumulative.5.2020.Actual"
我正在尝试重新格式化该列,以便我只包含日期。它应该看起来像:
df$Year
"12/2013"
"12/2014"
"12/2015"
"12/2016"
"12/2017"
"12/2018"
"12/2019"
"5/2020"
我怎样才能做到这一点?我尝试在一行中完成所有操作,但它返回的df$Year
只是"12/2013"
所有行:
df$Year< - paste(strsplit(df$Year, ".", fixed=TRUE)[[1]][2], strsplit(x, ".", fixed=TRUE)[[1]][3], sep="/")
解决方案
这是一个选项。
df$Year %<>%
as.character %>%
strsplit(.,"([a-zA-Z]\\.)|(\\.[a-zA-Z])") %>%
sapply( .,function(i) i[2] %>%
gsub(".","/",.,fixed=T))
推荐阅读
- ios - ios - 未触发自定义委托方法
- laravel - 使用 AWS EC2 或 Beanstalk 删除 Laravel 5 中的公用文件夹
- c# - 如何定义多个linux文件路径并验证C#
- ios - AudioKit Start 使用 AKFMOscillator 播放奇怪的声音
- java - java.lang.ClassCastException:com.sun.proxy.$Proxy219 无法转换为 org.springframework.data.redis.connection.StringRedisConnection
- python - TypeError 'Profile' 对象不可迭代
- typo3 - Typo3 CMS 8.7.15 // 将搜索结果限制为当前语言
- drupal-7 - 在迷你面板中与 %keyword 连接
- android - 以编程方式截取谷歌地图?
- android - 是否可以测试“()->单元?” 用junit测试