楼主: spealingman
7900 11

[数据管理求助] 【1000币】怎么在stata中实现一行数,比如50个数,的排列组合 [推广有奖]

  • 19关注
  • 8粉丝

已卖:9份资源

讲师

18%

还不是VIP/贵宾

-

威望
0
论坛币
9617 个
通用积分
0.0128
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
7949 点
帖子
274
精华
0
在线时间
449 小时
注册时间
2009-7-7
最后登录
2023-6-14

楼主
spealingman 发表于 2014-3-19 10:47:52 |AI写论文
1000论坛币
"怎么在stata中实现一行数,比如50个数,的排列组合。或者具体一点,怎么实现这50个数的所有的组合,对于每一对组合,对其做商,再返回成一行数。"



最佳答案

jjjj6666 查看完整内容

you can use mata to generate all the permutation, but if you have 50 unique values, the number of variables will be 50!, which is impossible for stata to hold. The code is, suppose you have the data in var x mata j=0 st_view(X = ., ., "x") info = cvpermutesetup(X) while ((p=cvpermute(info)) != J(0,1,.)) { j++ x="p"+strofreal(j) st_addvar("float",x) st_store(.,x,p) } f ...
关键词:Stata tata

沙发
jjjj6666 发表于 2014-3-19 10:47:53
you can use mata to generate all the permutation, but if you have 50 unique values, the number of variables will be 50!, which is impossible for stata to hold.  The code is, suppose you have the data in var x

mata
j=0
st_view(X = ., ., "x")
info = cvpermutesetup(X)
while ((p=cvpermute(info)) != J(0,1,.)) {
                j++
                x="p"+strofreal(j)
                st_addvar("float",x)
                st_store(.,x,p)
}

for data from 1 to 6, the code will generate 720 extra variables, then you can loop for the pairs.  But your problem is based on 50 values, you can see how large 50! is, seems not realistic.

已有 1 人评分论坛币 学术水平 热心指数 收起 理由
SpencerMeng + 20 + 1 + 1 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
ywh19860616 发表于 2014-3-19 14:43:55
没有看懂什么意思
如果是排列组合,percom命令可以实现。
一份耕耘,一份收获。

板凳
dxystata 发表于 2014-3-20 07:34:35
最好举个例子!

报纸
绿筱媚青涟 发表于 2015-1-3 03:45:39
ywh19860616 发表于 2014-3-19 14:43
没有看懂什么意思
如果是排列组合,percom命令可以实现。
combin x, k(2)                                          
combin x, k(3)
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
amo2009 + 1 + 1 + 1 观点有启发
maturing + 1 + 1 观点有启发

总评分: 论坛币 + 2  学术水平 + 2  热心指数 + 1   查看全部评分

地板
wshf666666 发表于 2019-12-5 22:35:16
ywh19860616 发表于 2014-3-19 14:43
没有看懂什么意思
如果是排列组合,percom命令可以实现。
你好,请问percom命令如何下载或安装呢?我折腾了好久,内部命令findit,search,ssc install都试过了,网页上也找了,还是没安装上。请赐教,谢谢!

7
rucrbszy 发表于 2020-5-11 10:17:06
wshf666666 发表于 2019-12-5 22:35
你好,请问percom命令如何下载或安装呢?我折腾了好久,内部命令findit,search,ssc install都试过了,网 ...
findit 是可以的,进入percom from http://fmwww.bc.edu/RePEc/bocode/p,然后点击install 即可

8
蓝帽回回200 发表于 2020-5-12 01:47:08
提示: 作者被禁止或删除 内容自动屏蔽

9
空城yn 发表于 2020-5-13 11:46:52
蓝帽回回200 发表于 2020-5-12 01:47
12个数据,分成两组,每组六个,用stata生成所有可能的情况,用什么命令呢
请问这个问题解决了么?

10
蓝帽回回200 发表于 2020-5-18 16:40:46
提示: 作者被禁止或删除 内容自动屏蔽

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-23 02:42