全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1715 5
2014-06-06
假如现在我有以下形式的数据集:

var1var2 var3 var1 var2 var3 ...var1 var2 var3
1 2 3 1 3 2 2 2 3
2 3 4 2 4 5 3 3 3
1 2 4 2 2 6 2 3 2
6 6 8 5 52 2 2 1

我如何将var1,var2,var3下面的数据汇总成3列,即:
var1var2 var3
12 3
2 3 4
1 2 4
6 6 8
1 3 2
2 4 5
2 2 6
5 5 2
2 2 3
3 3 3
2 3 2
2 2 1

求大神们赐教!因为有好多这样的分组需要合在一起,靠人工的话比较费时费力。


二维码

扫码加我 拉你入群

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

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

全部回复
2014-6-7 02:09:42
大神来啦!
这是数据格式reshape的问题,按照我的理解,在你的文件中,你有三个变量,但是你的数据不是n by 3的格式,而是n by 3*k的格式。 而你想数据变成n*k by 3的格式,这样你就方便对变量进行处理了。

方法很简单,用matlab比sas更简单,
data=load('filename');
nrow=size(data,1);
ncol=size(data,1);

nrow_new=nrow*(ncol/3);
ncol_new=3;

newdata=reshape(data,nrow_new,ncol_new);
然后输出

二维码

扫码加我 拉你入群

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

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

2014-6-7 09:20:57
复制代码
二维码

扫码加我 拉你入群

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

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

2014-6-7 09:34:28
superlaw 发表于 2014-6-7 02:09
大神来啦!
这是数据格式reshape的问题,按照我的理解,在你的文件中,你有三个变量,但是你的数据不是n b ...
我按照你的意思试了一下,结果发现数据的相对位置都变了。。这个程序还是有问题的。
二维码

扫码加我 拉你入群

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

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

2014-6-7 09:50:56
fjlhr 发表于 2014-6-7 09:34
我按照你的意思试了一下,结果发现数据的相对位置都变了。。这个程序还是有问题的。
复制代码
二维码

扫码加我 拉你入群

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

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

2014-6-8 10:23:55
farmman60 发表于 2014-6-7 09:50
这个方法效率高 厉害  学习了 谢谢。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群