假设我有这些数据:
clear all
set obs 2
gen title = "dog - cat - horse" in 1
replace title = "chicken - frog - ladybug" in 2
tempfile data
save `data'
我可以将其分为三个部分:
use `data', clear
split title, p(" - ")
我可以将它们分成两部分,丢弃第三部分:
use `data', clear
split title, p(" - ") limit(2)
是否有现成的解决方案可以将其拆分成两个部分,但将第一个拆分字符 (在本例中为破折号) 之后的所有内容分组到第二个变量中?在 R 中,我将使用separate
该extra="merge"
选项 (请参阅tidyr 仅分离前 n 个实例)。
换句话说,对于第一行,我希望第一个观察结果是,title1
并且dog
结果title2
是cat - horse
。
我意识到使用自定义代码可以做到这一点(请参阅Stata 将字符串拆分为几部分),但我希望使用类似于 Stata split
/R的简单命令separate
来实现我的目标。