У меня есть столбец с именами разных лиц через запятую, например (все в 1 ячейке) Бен Ли, Пол Лой, Бой Лим. Я хочу разделить каждое имя на разные столбцы. Как я это сделаю? (в синтаксисе SPSS).
Извлечение строки SPSS
comment
в настоящее время экспериментирую с char.index и char.substr, пока безуспешно
- person don   schedule 07.04.2016
Ответы (2)
См. эту тему. с потенциальными решениями. А именно, благодарим Дэвида Марсо и Джона Пека:
* General Parser *.
DATA LIST / X 1-80 (A).
BEGIN DATA 11-0101-423-7384
END DATA.
VECTOR NUMS(10).
COMPUTE #0=0.
LOOP.
COMPUTE #1=INDEX(X,'-').
COMPUTE #0=#0+1.
IF #1>0 NUMS(#0)=NUMBER(SUBSTR(X,1,#1-1),F8).
COMPUTE X=SUBSTR(X,#1+1).
END LOOP IF #1=0.
COMPUTE NUMS(#0)=NUMBER(X,F8).
MATCH FILES FILE * / DROP X.
LIST.
Или, альтернативно, решение python:
data list free /x(a13).
begin data.
1,13,5,6,99,8
end data.
dataset name data.
begin program.
def split(v):
return v.split(',')
end program.
spssinc trans result = v1 to v6
/formula "split(x)".
person
Jignesh Sutar
schedule
07.04.2016
do repeat TXTname="Ben Lee" "Paul Loy" "Boy Lim"/VRname=BenLee PaulLoy BoyLim.
compute VRname=index(OriginalColumnName, TXTname)>0.
end repeat.
Если есть много других имен, вы можете вместо этого использовать стандартные имена переменных и вместо этого добавить фактические имена в метки:
do repeat TXTname="Ben Lee" "Paul Loy" "Boy Lim"/VRname=Name01 to Name03.
compute VRname=index(OriginalColumnName, TXTname)>0.
end repeat.
variable labels
Name01 "Ben Lee"
Name02 "Paul Loy"
Name03 "Boy Lim".
person
eli-k
schedule
07.04.2016