楼主: yfdmy
2681 10

[问答] 问下如何把两个变量中的数据重新放在一个变量中的小问题。。 [推广有奖]

  • 0关注
  • 0粉丝

小学生

85%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
87 点
帖子
10
精华
0
在线时间
9 小时
注册时间
2013-3-10
最后登录
2016-5-31

楼主
yfdmy 发表于 2013-3-23 14:41:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
问题就是题目那样,比如说吧,
我已经有了a=1 2 4    b=7 9 3,
我想新建一个变量c=1 2 4 7 9 3
就是把前两个数据包括进来,怎么弄啊????
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:小问题 怎么弄 数据包 如何 新建

沙发
Eternal0601 发表于 2013-3-23 15:01:02
data raw;
input a b;
cards;
1  7
2 9
4 3
;
run;

/*method1*/
data final;
set raw;
c=a;
output;
c=b;
output;
run;

/*method2*/
data test;
set raw(keep=a) raw(keep=b rename=(b=a));
run;

藤椅
Imasasor 发表于 2013-3-23 15:30:27
data a;
x="1 2 3";
y="4 5 6";
z=catx("",x,y);
put z=;
run;
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

板凳
yfdmy 发表于 2013-3-23 18:48:15
Imasasor 发表于 2013-3-23 15:30
data a;
x="1 2 3";
y="4 5 6";
额。。因为我后面还要用那个整合的变量做univariate的单变量分析,,用这个方法的话那个z变量程序分析不了。

报纸
yfdmy 发表于 2013-3-23 18:50:34
Eternal0601 发表于 2013-3-23 15:01
data raw;
input a b;
cards;
第一个方法我用了,但有个小问题,它会把相同大小的数据合并,不知道能不能解决。
第二个方法我用的有点晕,因为我的第一个变量在data1中,,第二个变量在data2中,不知道怎么处理。。

地板
Eternal0601 发表于 2013-3-23 19:00:39
yfdmy 发表于 2013-3-23 18:50
第一个方法我用了,但有个小问题,它会把相同大小的数据合并,不知道能不能解决。
第二个方法我用的有点 ...
针对第一种方法,你说它会把相同大小的数据合并,是指变量C的值顺序不是你想要的吗?

然后第二种方法,不知道下面的是不是你想要的
data test;
set data1 (keep=var1 rename=(var1=c))  data2(keep=var2 rename=(var2=c));
run;

7
yfdmy 发表于 2013-3-23 20:01:50
Eternal0601 发表于 2013-3-23 19:00
针对第一种方法,你说它会把相同大小的数据合并,是指变量C的值顺序不是你想要的吗?

然后第二种方法, ...
第一个方法我的意思是例如a里有5个数,b里有4个数,但a和b中有一个数一样大,合并后的C就只有8个数(一样的数只保留一个)

第二个方法还是跑不起,,而且我后面还要对那个合并后的变量做univariate的过程步的单变量分析,那个C系统讲找不到

8
yfdmy 发表于 2013-3-23 20:04:36
我把现在的程序贴下好了(感觉我好蛋疼)
  1. data Salary1;
  2. input a @@;
  3. cards;
  4. 28500
  5. 31000
  6. 22800
  7. 32350
  8. 30450
  9. 38200
  10. 34100
  11. 30150
  12. 33550
  13. 27350
  14. 25200
  15. 32050
  16. 26550
  17. 30650
  18. 35050
  19. 35600
  20. 26900
  21. 31350
  22. 28950
  23. 32900
  24. 31300
  25. 31350
  26. 35700
  27. 35900
  28. 35200
  29. 30450
  30. ;

  31. data Salary2;
  32. input b @@;
  33. cards;
  34. 39700
  35. 33250
  36. 31800
  37. 38200
  38. 30800
  39. 32250
  40. 38050
  41. 34800
  42. 32750
  43. 38800
  44. 29900
  45. 37400
  46. 33700
  47. 36300
  48. 37250
  49. 33950
  50. 37750
  51. 36700
  52. 36100
  53. 26550
  54. 39200
  55. 41000
  56. 40400
  57. 35500
  58. ;

  59. data test;
  60. set Salary1(keep=a rename(a=c)) Salary2(keep=b rename=(b=c));
  61. run;

  62. proc univariate data = test;
  63. var c;
  64. run;
复制代码

9
Eternal0601 发表于 2013-3-23 20:15:32
yfdmy 发表于 2013-3-23 20:04
我把现在的程序贴下好了(感觉我好蛋疼)
rename(a=c))  改为 rename=(a=c);然后在我电脑运行没有问题的

10
Eternal0601 发表于 2013-3-23 20:16:22
Eternal0601 发表于 2013-3-23 20:15
rename(a=c))  改为 rename=(a=c);然后在我电脑运行没有问题的
@@这里其实也可以删掉的

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 05:23