矢量定义与不同的长度

时间:2018-05-17 14:57:50

标签: vector concat spss

我正在试图弄清楚如何编写一个允许可变长度的矢量命令。

假设我有变量Item1到Item7。我可以写一个矢量语句......

VECTOR Item = Item1 to Item7。

在另一种情况下,我有20个项目而不是7个项目(即Item1到Item20),并假设我有一个名为num的变量,其中包含数字20。

如何编写一个通用的Vector语句,可以使用concat将“Item”和num的值组合为后缀?

谢谢!

1 个答案:

答案 0 :(得分:0)

这假设变量num在所有行中具有相同的值。

我首先要创建一些可用的小样本数据。对于示例,我将使用语法创建一个包含13个变量的向量。

data list list/num item1 to item20 (21f5).
begin data
13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
13 2 3 4 5 4 5 6 7 6 7 8 9 1 2 3 4 5 6 7 8
end data.

现在要创建矢量,我首先在一个新变量中创建命令的文本:

string VecCom (a50).
compute VecCom=concat("VECTOR Item = Item1 to Item", ltrim(string(num,f5)), ".").

现在我将其写入新语法并运行它:

temp.
select if $casenum=1.
write out="somePath\create vector with specific length.sps" /VecCom.
exe.
insert file="somePath\create vector with specific length.sps".

现在定义了矢量 - 你可以这样看:

display vectors.