Как разделить строку в одну переменную, чтобы создать две переменные? - PullRequest
0 голосов
/ 09 октября 2018

Предположим, у меня есть список имен в переменной Names:

Beckham, Benjamin  
Roy, Andrew R. 
Shaunson, David T.

Как мне создать две переменные, одну с именем Last_name, другую First_name?

Переменная Last_name будет списком, содержащим:

Beckham
Roy
Shaunson

Переменная First_name будет списком, содержащим:

Benjamin
Andrew R.
David T.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Я работал над этим и нашел альтернативное решение:

generate inbet = strpos(Names, ",")
generate str1 Last_name = "" 
replace Last_name = substr(inbet,1,inbet - 1)
generate str1 First_name = "" 
replace First_name = substr(Name,inbet + 1,.)
0 голосов
/ 09 октября 2018

Ваше понимание того, что вы хотите, должно заставить вас искать команду Stata с именем (что-то вроде) split.Ищите (например, search), и вы найдете.

clear 
input str42 whatever 
"Beckham, Benjamin" 
"Roy, Andrew R."
"Shaunson, David T."
end 

split whatever, parse(,) 
rename (whatever?) (lastname firstname) 

list 

     +--------------------------------------------+
     |           whatever   lastname    firstname |
     |--------------------------------------------|
  1. |  Beckham, Benjamin    Beckham     Benjamin |
  2. |     Roy, Andrew R.        Roy    Andrew R. |
  3. | Shaunson, David T.   Shaunson     David T. |
     +--------------------------------------------+
...