r - 拆分文本以创建新变量

标签 r text split

我有第一个数据集,我想通过拆分第一个数据集中的文本来创建所需的数据集,我想知道我该怎么做:

基本上,新变量将在“XYZ-1”或“AAA-2”之后拆分。 感谢所有的帮助!谢谢!

第一个数据集:

Name <- c("A B XYZ-1 Where","C AAA-2 When","ABC R SS XYZ-1 Where")
x <- data.frame(Name)

所需的数据集:

Name <- c("A B XYZ-1 Where","C AAA-2 When","ABC R SS XYZ-1 Where")
Study <- c("A B XYZ-1","C AAA-2","ABC R SS XYZ-1")
Question <- c("Where","When","Where")
x <- data.frame(Name,Study,Question)

Name                      Study             Question

A B XYZ-1 Where           A B XYZ-1         Where       
C AAA-2 When              C AAA-2           When        
ABC R SS XYZ-1 Where      ABC R SS XYZ-1    Where

最佳答案

使用 separate - 在 sep 中传递正则表达式环视以匹配三个大写字母后的一个或多个空格 (\\s+)和一个 - 和一个数字 ([A-Z]{3}-\\d) 和一个大写字母 ([A-Z])

library(tidyr)
separate(x, Name, into = c("Study", "Question"), 
     sep = "(?<=[A-Z]{3}-\\d)\\s+(?=[A-Z])", remove = FALSE)

-输出

                  Name          Study Question
1      A B XYZ-1 Where      A B XYZ-1    Where
2         C AAA-2 When        C AAA-2     When
3 ABC R SS XYZ-1 Where ABC R SS XYZ-1    Where

关于r - 拆分文本以创建新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75062561/

相关文章:

python - 在 Python 中运行 lmer(线性混合效应回归)

graphics - 在堆叠格子条形图中显示值

php - 如何使用 php 将字符串下载到浏览器?不是文本文件

Android 如何使用 Intent 发送文本和图像或任何对象?

r - 匹配来自两个数据帧的文本向量并返回第三个向量的总和

r - 拆分包含字符的日期

python:如何从自然语言文件中提取记录,只有分隔符是记录开头的 5 个字符

java - 拆分包含两个 (x,y) 整数的字符串 - Java

scala - 拆分一个字符串并获取每个段的起始索引

java - 如何将一个字符串分成 2-4 个长 block ?