楼主: dxystata
2931 22

[编程问题求助] 程序如何修改,或如何实现更好! [推广有奖]

版主

大师

35%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
182737 个
通用积分
15207.6212
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
292071 点
帖子
5393
精华
1
在线时间
13499 小时
注册时间
2006-6-21
最后登录
2024-5-10

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  比如rankext 3 6 结果有问题。
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 Rank ext RAN 程序 如何

exact.rar

571 Bytes

本附件包括:

  • exact.do

配对符号秩检验确切概率的递推算法.pdf

160.94 KB

沙发
sungmoo 发表于 2012-12-27 08:39:47 |只看作者 |坛友微信交流群
这个程序的目的,可否简介一下?

使用道具

藤椅
dxystata 发表于 2012-12-27 08:52:00 |只看作者 |坛友微信交流群
sungmoo 发表于 2012-12-27 08:39
这个程序的目的,可否简介一下?
样本含量小的时候 计算配对符号秩检验的确切概率。

使用道具

板凳
sungmoo 发表于 2012-12-28 23:41:00 |只看作者 |坛友微信交流群
*上面的程序可以大幅减化(首数是样本量,末数是可能的秩和,求给定首数时末数对应的概率)
clear
cap pr drop rankext
pr rankext
args n e
if wordcount("`*'")!=2|int(`e')!=`e'|int(`n')!=`n'|`e'<0|`n'<0|`e'>`n'*(`n'+1)/2 {
n di as error "Two and only two nonnegative integers, of which"
n di as error "the last is smaller than the accumlated sum by the first, are allowed"
exit
}
qui{
clear
set ob `=2^`n''
forv i=1/`n'{
g v`i'=`i'*mod(int((_n-1)/2^(`n'-`i')),2)
}
egen exp=rowtotal(v*)
collapse (count)t=v1,by(exp)
egen p=pc(t),prop
su p if exp<=`e'

n di
n di in yellow "exact P-value for the ranksum of `e' given the sample size of `n' = " r(sum)
clear
}
end
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 5 + 1 + 1 + 1 热心帮助其他会员
dxystata + 20 + 50 + 1 + 1 好的意见建议

总评分: 经验 + 120  论坛币 + 55  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

使用道具

报纸
dxystata 发表于 2012-12-28 23:49:24 |只看作者 |坛友微信交流群
*上面的程序可以大幅减化:

clear
cap pr drop rankext
pr rankext
args e n
if wordcount("`*'")!=2|int(`e')!=`e'|int(`n')!=`n'|`e'<0|`n'<0|`e'>`n' {
n di in red "Two and only two nonnegative integers, of  which the 2nd is larger, are allowed"
exit
}
clear
qui{
set ob `=2^`n''
forv i=1/`n'{
g v`i'=0
replace v`i'=`i' if mod(int((_n-1)/2^(`n'-`i')),2)
}
egen exp=rowtotal(v*)
collapse (count)t=v1,by(exp)
egen p=pc(t),prop
keep if exp==`e'
n di
n di in yellow "exact P Value for `e'/`n' = " p
}
clear
end
谢谢!

使用道具

地板
dxystata 发表于 2012-12-28 23:58:07 |只看作者 |坛友微信交流群
sungmoo 发表于 2012-12-28 23:41
*上面的程序可以大幅减化:

clear
运行 rankext 9 10.5 出错

使用道具

7
sungmoo 发表于 2012-12-29 00:00:54 |只看作者 |坛友微信交流群
运行 rankext 9 10.5 出错
上面的程序已经规定只许取非负整数。

使用道具

8
dxystata 发表于 2012-12-29 00:47:49 |只看作者 |坛友微信交流群
sungmoo 发表于 2012-12-29 00:00
上面的程序已经规定只许取非负整数。
这样不完整啊!

使用道具

9
sungmoo 发表于 2012-12-29 01:04:58 |只看作者 |坛友微信交流群
这样不完整啊!
秩和可以是非整数?

使用道具

10
dxystata 发表于 2012-12-29 08:48:00 |只看作者 |坛友微信交流群
sungmoo 发表于 2012-12-29 01:04
秩和可以是非整数?
可以,相同等级或取值取平均秩次,实际秩和中有可能出现0.5。

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-11 05:09