r - 如何将一个字符串分成多个变量
问题描述
我有一个看起来像这样的df:
我想删除等于ID
from的部分Name
,然后构建三个新变量,它们等于 的最后两位数Name
,即 Name 中的第 3 位Name', and 4th place in
。...看起来如下所示:
我应该怎么做才能实现这个目标?
df<-structure(list(Name = c("LABCPCM01", "TUNISCN02", "HONORCN01",
"KUCCLCN02", "LABCPBF03", "LABCPBF04", "MFHLBCM01", "MFHLBCF01",
"DRLLBCN01", "QDSWRCN03", "QDSWRCN04", "UTSWLHN01", "MGHCCBN02",
"JHDPCHM01", "UNILBCF03", "UTSWLGN03", "PHCI0CN01", "PHCI0CN02"
), ID = c("LABCP", "TUNIS", "HONOR", "KUCCL", "LABCP", "LABCP",
"MFHLB", "MFHLB", "DRLLB", "QDSWR", "QDSWR", "UTSWL", "MGHCC",
"JHDPC", "UNILB", "UTSWL", "PHCI0", "PHCI0")), row.names = c(NA,
-18L), class = c("tbl_df", "tbl", "data.frame"))
解决方案
怎么样:
R> df <- data.frame(f1=as.factor(c("LABCPCM01","TUNISCN02", "HONORCN01", "KUCCLCN02")))
R> tidyr::separate(df, f1, sep=c(5,6,7), into=c("ID", "var3", "var2", "var1"))
ID var3 var2 var1
1 LABCP C M 01
2 TUNIS C N 02
3 HONOR C N 01
4 KUCCL C N 02
推荐阅读
- python - Playing an mp3 using a variable from a text file in pygame
- php - 调用其他模型内部的方法
- android - 跟踪发布前报告中报告的错误 - java.lang.NullPointerException - android.accounts.Account
- java - Java Math random() 只打印一个数字
- android - 通用参数化基础 ViewModel
- javascript - 通过 HTML 字符串上的 xpath 获取元素
- python - 连接后 Dataframe.reset_index() 不起作用
- node.js - Node.js 使用实例名称、端口和域连接到 SQL Server
- c++ - 在 gitlab runner 上为 macos 更新 cmake
- python - 如何在python中将多行列表排序为单行列表