不同长度的向量定义
Vector definition with varying length
我正在研究如何编写允许可变长度的矢量命令。
假设我有变量 Item1 到 Item7。我可以写一个向量语句...
矢量项 = Item1 到 Item7。
在另一种情况下,我有 20 个项目而不是 7 个(即 Item1 到 Item20),假设我有一个名为 num
的变量,其中包含数字 20。
我如何编写一个通用的 Vector 语句,它或许可以使用 concat
组合 "Item" 和 num
的值作为后缀?
谢谢!
这假定变量 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.
我正在研究如何编写允许可变长度的矢量命令。
假设我有变量 Item1 到 Item7。我可以写一个向量语句...
矢量项 = Item1 到 Item7。
在另一种情况下,我有 20 个项目而不是 7 个(即 Item1 到 Item20),假设我有一个名为 num
的变量,其中包含数字 20。
我如何编写一个通用的 Vector 语句,它或许可以使用 concat
组合 "Item" 和 num
的值作为后缀?
谢谢!
这假定变量 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.