r - 拆分没有分隔符的 R 列
问题描述
如何在没有分隔符的情况下拆分我的“ID”列?这是我的示例数据框:
df=data.frame(ID=c("1a", "1", "2b", "2c", "1yolk", "3", "3yolk"), length=c(5.5, 6.7, 7.1, 8.2, 4.5, 2.2, 3.5))
我如何将 ID 列分成两列,第一列 (n) 只是第一个数字,第二列 (视图) 是第一个数字之后的所有内容。这是我希望生成的数据框的样子:
df=data.frame(n=c("1", "1", "2", "2", "1", "3", "3"), view=c("a", "", "b", "c", "yolk", "", "yolk"), length=c(5.5, 6.7, 7.1, 8.2, 4.5, 2.2, 3.5))
谢谢!!
解决方案
使用tidyr::extract
您可以指定如何拆分两列的正则表达式。
tidyr::extract(df, ID, c('n', 'view'), '(\\d+)(.*)', convert = TRUE)
n view length
1 1 a 5.5
2 1 6.7
3 2 b 7.1
4 2 c 8.2
5 1 yolk 4.5
6 3 2.2
7 3 yolk 3.5
推荐阅读
- c++ - Getting MySQL Connector/C++ to work with Visual Studio 2019
- c# - eBay deletion/closure notifications using Web Reference
- javascript - How to get Data in the main array when filtering in the Sub Array
- asp.net-mvc - Why i have to use httpContextAccessor in Asp.Net to get user name and role?
- php - Symfony 4 HTTP 缓存标头在探查器和浏览器中不同
- c# - 如果满足条件,如何从一个单元格复制数据并将其放入另一个单元格
- flutter - 在 Flutter 中运行 pod install 时出现错误
- php - 如何在网站中添加多语言部分
- scala - Scala Parser Combinator:递归
- xamarin.forms - 如何保持 AppShell 选项卡保持加载状态?