我的问题涉及将一个数据集中的多个列组合成一个列。我知道这个问题以前已经回答过好几次了,但这仅仅是针对更大的数据集之外的一个变量。这是针对较大数据集中的两个变量的。
基本上,以下是数据的样子:
Range Pass Height Height_1 Height_2 Height_3 V V_1 V_2 V_3 Breed Treatment
2 6 200 . . . 20 . . . AAAA 1
2 8 . 179 . . . 18 . . BBBB 1
2 10 . . 199 . . . 21 . CCCC 1
2 12 . . . 188 . . . 19 DDDD 1
3 6 155 . . . 17 . . . BBBB 2
3 8 . 201 . . . 22 . . AAAA 2
3 10 . . 195 . . . 20 . CCCC 2
3 12 . . . 188 . . . 18 DDDD 2基本上,我想把所有四个“高度”列合并成一个高度列,把所有四个"V“列组合成一个V列,同时保持所有其他列不变。
发布于 2014-06-30 14:21:34
您可以使用coalesce() ( SAS proc SQL支持的)在SQL中这样做:
proc sql;
select range, pass,
coalesce(Height, Height_1, Height_2, Height_3) as height,
coalesce(V, V_1, V_2, V_3) AS V,
Breed, Treatment
from dataset;https://stackoverflow.com/questions/24492236
复制相似问题