我有第一个数据集,我想通过拆分第一个数据集中的文本来创建所需的数据集,我想知道我该怎么做:
基本上,新变量将在“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/