b******s 发帖数: 345 | 1 现在的dataset是这样的,是一个sampling后的输出(即使同一个ID重复后其famid1是不
同的):
obs ID famid famid1
1 1002 2 1
2 1003 3 2
3 1003 3 3
4 1010 10 4
5 1044 37 5
6 1044 37 6
7 1089 49 7
想得到的是这样的:
9020和9080是与1010及1044相应的twins,9020和9080(twins信息)加在每一个的1010
及1044的后面,并且与每一个1010及1044的famid1相同。
obs ID famid famid1
1 1002 2 1
2 1003 3 2
3 1003 3 3
4 1010 10 4
5 9020 10 4
6 1044 37 5
7 9080 37 5
8 1044 37 6
9 9080 37 6
10 1078 49 7
请大家说说怎样才能实现所想要得到的dataset呢?谢谢!
|
j******4 发帖数: 6090 | 2 你的意思是两个data,一个是只含有1002,1003 …… 的;另一个是只含有9020,
9080 …… 的。然后你想以你描述的方式把两个data来合并到一起是吗?
如果是这样的话,把两个data都读进python,然后用条件语句。 |
s******8 发帖数: 102 | 3 data raw;
input ID famid famid1;
cards;
1002 2 1
1003 3 2
1003 3 3
1010 10 4
1044 37 5
1044 37 6
1089 49 7
;
run;
data youneed;
set raw;
output;
if id eq 1010 then do;
ID=9020;
output;
else if id eq 1044 then do;
ID=9080;
output;
end;
run; |
b******s 发帖数: 345 | 4 谢谢回复!
我只有一个data(就是第一个),想得到的data是第二个。谢谢!
【在 j******4 的大作中提到】 : 你的意思是两个data,一个是只含有1002,1003 …… 的;另一个是只含有9020, : 9080 …… 的。然后你想以你描述的方式把两个data来合并到一起是吗? : 如果是这样的话,把两个data都读进python,然后用条件语句。
|
b******s 发帖数: 345 | 5 谢谢!这样得到了我想要的dataset!
谢谢!发现版上牛人很多^_^
【在 s******8 的大作中提到】 : data raw; : input ID famid famid1; : cards; : 1002 2 1 : 1003 3 2 : 1003 3 3 : 1010 10 4 : 1044 37 5 : 1044 37 6 : 1089 49 7
|
b******s 发帖数: 345 | 6 不知道还有没有更简单的方法?帖子中我只把已有的dataset给出了一部分,想得到的
dataset也是给出了一部分。实际的dataset有400多行,我需要加入的twins信息是26个
twins。我得写26行类似下面的命令。还有没有更简单些的方法呢?谢谢!
if id=1019 then do;
id=9002;
output;
end;
【在 s******8 的大作中提到】 : data raw; : input ID famid famid1; : cards; : 1002 2 1 : 1003 3 2 : 1003 3 3 : 1010 10 4 : 1044 37 5 : 1044 37 6 : 1089 49 7
|