Похоже, вы хотите посчитать количество вхождений каждой цифры в каждом наблюдении .
Вы можете сделать это следующим образом:
clear
input str5 string
"22112"
"21012"
"22012"
"22022"
"21122"
"21112"
"21002"
"...0."
"...0."
"20002"
"..00."
"2..01"
"22212"
"21022"
"12212"
end
generate x0 = length(string) - length(subinstr(string, "0", "", .))
generate x1 = length(string) - length(subinstr(string, "1", "", .))
generate x2 = length(string) - length(subinstr(string, "2", "", .))
Идея здесь в том, чтобы вычислить разницу в длине строки после , исключающей каждый экземпляр интересующей цифры.
Приведенный выше фрагмент кода даст желаемый результат:
list
+-----------------------+
| string x0 x1 x2 |
|-----------------------|
1. | 22112 0 2 3 |
2. | 21012 1 2 2 |
3. | 22012 1 1 3 |
4. | 22022 1 0 4 |
5. | 21122 0 2 3 |
|-----------------------|
6. | 21112 0 3 2 |
7. | 21002 2 1 2 |
8. | ...0. 1 0 0 |
9. | ...0. 1 0 0 |
10. | 20002 3 0 2 |
|-----------------------|
11. | ..00. 2 0 0 |
12. | 2..01 1 1 1 |
13. | 22212 0 1 4 |
14. | 21022 1 1 3 |
15. | 12212 0 2 3 |
+-----------------------+