r - 在R中的多列中分离一列
问题描述
这是我的数据:
df1<-read.table(text= "Group
11Z-23456
12B-10000
22M-2000
12M-1100
33G-100",header=TRUE)
我想得到这个数据:
A B C Code
1 1 Z 23456
1 2 B 10000
2 2 M 2000
1 2 M 1100
3 3 G 100
正如您从我的数据中看到的,我想将 Group 中的值分开这只是一个小样本,但请考虑大样本。
解决方案
使用`data.table:
library(data.table)
setDT(df1)
df1[, c("ABC", "Code") := tstrsplit(Group, "-")]
df1[, c("A", "B", "C") := tstrsplit(ABC, "")]
df1[, c("ABC", "Group") := NULL]
df1
# Code A B C
# 1: 23456 1 1 Z
# 2: 10000 1 2 B
# 3: 2000 2 2 M
# 4: 1100 1 2 M
# 5: 100 3 3 G
推荐阅读
- javascript - Vuejs - 无法读取未定义的属性“_withTask”
- php - 错误代码:1054“字段列表”中的未知列“opdrachten.OpdrachtID”
- javascript - 从 html 页面中删除 js 脚本
- python - 使用 Excel 创建 CSV 文件的问题
- azure - 如何通过 Graph API 仅获取用户所有属性的列表
- ionic-framework - 在本地时区打开 ion-datetime
- javascript - 自执行函数的奇怪之处
- python - 在Python中使用字符串上的字典解码消息
- android - 使用 Volley 从服务器成功响应后隐藏 ProgressBar
- angular - Angular 6 Unable to read Octet-stream in HttpClient 错误消息:“解析过程中的 Http 失败...”