将数据从列移动到数据集中的新行
Move data from columns into new rows in dataset
我有一个数据库,在同一行中包含重复变量。我需要一种语法来将数据库中某些变量的值复制到同一数据库中特定变量的新行。
因此,如果我有变量:V1a、V1b、V1c、V2a、V2b、V2c,我想在数据库中创建一个新行,其中 V1a、V1b 和 V1c 将包含来自 V2a、V2b 的值 和 V2c。
如果我没理解错的话,您想要重组文件,以便 a
b
和 c
、V1
和 V2
不会'不要分成单独的列,而是分成单独的行。
这是你可以做到的 -
首先您可以运行创建一个小型演示数据集:
data list list/V1a V1b V1c V2a V2b V2c (6f6).
begin data
1 2 3 11 22 33
6 7 8 66 77 88
end data.
现在进行重组:
varstocases /make a from V1a V2a
/make b from V1b V2b
/make c from V1c V2c
/index=source(a).
Compute source=char.substr(source,1,2).
列 source
具有原始列的名称。
我有一个数据库,在同一行中包含重复变量。我需要一种语法来将数据库中某些变量的值复制到同一数据库中特定变量的新行。
因此,如果我有变量:V1a、V1b、V1c、V2a、V2b、V2c,我想在数据库中创建一个新行,其中 V1a、V1b 和 V1c 将包含来自 V2a、V2b 的值 和 V2c。
如果我没理解错的话,您想要重组文件,以便 a
b
和 c
、V1
和 V2
不会'不要分成单独的列,而是分成单独的行。
这是你可以做到的 -
首先您可以运行创建一个小型演示数据集:
data list list/V1a V1b V1c V2a V2b V2c (6f6).
begin data
1 2 3 11 22 33
6 7 8 66 77 88
end data.
现在进行重组:
varstocases /make a from V1a V2a
/make b from V1b V2b
/make c from V1c V2c
/index=source(a).
Compute source=char.substr(source,1,2).
列 source
具有原始列的名称。