@[toc]
Brown-Mood检验与符号检验的思想类似,仅比较了两组数据的符号;类似于单样本的Wilcoxon符号秩检验,利用更多信息构造检验
BM.test<-function(x,y,alt='two.sided')
{
xy<-c(x,y)
m<-length(x)
n<-length(y)
md.xy<-median(xy)
t.val<-sum(xy>md.xy)
A<-sum(x>md.xy)
count.table<-matrix(c(A,m-A,m,t.val-A,n-(t.val-A),n,t.val,m+n-t.val,m+n),
nr=3,nc=3,byrow = F)
colnames(count.table)<-c('X','Y','X+Y')
row.names(count.table)<-c('>MXY','<MXY','TOTAL')
if(alt=='two.sided'){p.value=2*min(phyper(A,m,n,t.val),
phyper(A-1,m,n,t.val,lower.tail=F))}
if(alt=='greater'){p.value=phyper(A-1,m,n,t.val,lower.tail = F)}
if(alt=='less'){p.value=phyper(A,m,n,t.val)}
list(count.table=count.table,p.value=p.value)
}
x<-c(698,688,675,656,655,648,640,639,620)
y<-c(780,754,740,712,693,680,621)
BM.test(x,y)
$count.table
X Y X+Y
>MXY 2 6 8
<MXY 7 1 8
TOTAL 9 7 16
$p.value
[1] 0.04055944
在显著性水平?=?.??时, ?值< ?,拒绝原假设,认为两个不同品牌显示器在不同商场的零售价格存在差异
同样可以使用package来直接调用mood.test函数
library('RVAideMemoire')
response<-c(x,y)
fact<-c(rep('A',length(x)),rep('B',length(y)))
fact<-as.factor(fact)
mood.medtest(response~fact)
Mood's median test
data: response by fact
p-value = 0.04056
library('coin')
median_test(response~fact,distribution='exact')
Exact Two-Sample Brown-Mood Median Test
data: response by fact (A, B)
Z = -2.4398, p-value = 0.04056
alternative hypothesis: true mu is not equal to 0
在原假设下, 和
同分布,称为Mann-Whitney统计量
Mann-Whitney检验(Mann-Whitney于1947年提出,不等样本)与两样本的Wilcoxon秩和检验(Wilcoxon于1945年提出,等样本)等价,因此也称为Wilcoxon-Mann-Whitney检验
weight.low<-c(134,146,104,119,124,161,107,83,113,129,97,123)
weight.high<-c(70,118,101,85,112,132,94)
wilcox.test(weight.high,weight.low)
wilcox.test(weight.high,weight.low,exact = F)
不带修正
Wilcoxon rank sum exact test
data: weight.high and weight.low
W = 22, p-value = 0.1003
alternative hypothesis: true location shift is not equal to 0
带修正
Wilcoxon rank sum test with continuity
correction
data: weight.high and weight.low
W = 22, p-value = 0.09934
alternative hypothesis: true location shift is not equal to 0
从秩的角度很难区分样本是否分散的问题。
前提:Mood检验法假定两位置参数相等,所以在采用Mood检验之前需要进行两样本位置参数检验。
x<-c(4,5,6,5,7,10,12)
y<-c(6,7,2,8,9,9,8)
mood.test(x,y)
Mood two-sample test of scale
data: x and y
Z = 1.6514, p-value = 0.09865
alternative hypothesis: two.sided
Moses于1963年提出一种无需事先假定两分布位置参数相等的检验两总体方差相等的方法,应用较广。
x<-c(8.2,10.7,7.5,14.6,6.3,9.2,11.9,5.6,12.8,5.2,4.9,13.5)
y<-c(4.7,6.3,5.2,6.8,5.6,4.2,6.0,7.4,8.1,6.5)
VarRank<-function(x,y,K=3)
{
m1<-floor(length(x)/K)
m2<-floor(length(y)/K)
x.VR<-NULL
y.VR<-NULL
x.temp<-x
y.temp<-y
for (r in 1:m1){
x.index<-sample(1:length(x.temp),K)
x.VR<-c(x.VR,var(x.temp[x.index])*(K-1))
x.temp<-x.temp[-x.index]
}
for (s in 1:m2){
y.index<-sample(1:length(y.temp),K)
y.VR<-c(y.VR,var(y.temp[y.index])*(K-1))
y.temp<-y.temp[-y.index]
}
list(m1=m1,m2=m2,x.VR=x.VR,y.VR=y.VR)
}
re<-VarRank(x,y)
wilcox.test(re$x.VR,re$y.VR)
Wilcoxon rank sum exact test
data: re$x.VR and re$y.VR
W = 12, p-value = 0.05714
alternative hypothesis: true location shift is not equal to 0
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来
我正在为我的用户实现一些rubyonrails代码推特内容。我正在创建正确的oauth链接...类似http://twitter.com/oauth/authorize?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv但在我的测试帐户授予对twitter的访问权限后,它会弹出一个页面,上面写着“您已成功授予对.我不知道用户应该在哪里输入此PIN以及他们为什么必须这样做。我认为这不是必要的步骤。Twitter应该将用户重定向到我在应用程序设置中提供的回调URL。有谁知道为什么会这样?更新我找到了thisarticle声明我需
关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我不经常使用ruby-通常它加起来相当于每两个月或更长时间编写一次脚本。我的大部分编程都是使用C++进行的,这与ruby有很大不同。由于我与ruby之间的差距如此之大,我总是忘记语言的基本方面(比如解析文本文件和其他简单的东西)。我想每天练习一些基本的东西,我想知道是否有一些我可以订阅的网站,并且会向我发送当天的Ruby问题或类似的东西。有人知道这样的站点/Internet服务吗?
如果特定语言环境中缺少翻译,如何配置i18n以使用en语言环境翻译?当前已插入翻译缺失消息。我正在使用RoR3.1。 最佳答案 找到相似的question这里是答案:#application.rb#railswillfallbacktoconfig.i18n.default_localetranslationconfig.i18n.fallbacks=true#railswillfallbacktoen,nomatterwhatissetasconfig.i18n.default_localeconfig.i18n.fallback
在我的双语Rails4应用程序中,我有一个像这样的LocalesController:classLocalesController用户可以通过此表单更改其语言环境:deflocale_switcherform_tagurl_for(:controller=>'locales',:action=>'change_locale'),:method=>'get',:id=>'locale_switcher'doselect_tag'set_locale',options_for_select(LANGUAGES,I18n.locale.to_s)end这有效。但是,目前用户无法通过URL更改
我使用Ruby编程已经有一段时间了,现在只使用Ruby的标准MRI实现,但我一直对我经常听到的其他实现感到好奇。前几天我在读有关Rubinius的文章,这是一个用Ruby编写的Ruby解释器。我试着在不同的地方查找它,但我很难弄清楚这样的东西到底是如何工作的。我在编译器或语言编写方面从来没有太多经验,但我真的很想弄明白。一门语言究竟如何才能被自己解释?编译中是否有一个我不明白这有意义的基本步骤?有人可以像我是个白痴一样向我解释这个吗(因为无论如何这都不会太离谱) 最佳答案 它比你想象的要简单。Rubinius并非100%用Ruby编
Ruby是完全面向对象的语言。在ruby中,一切都是对象,因此属于某个类。例如5属于Objectclass1.9.3p194:001>5.class=>Fixnum1.9.3p194:002>5.class.superclass=>Integer1.9.3p194:003>5.class.superclass.superclass=>Numeric1.9.3p194:005>5.class.superclass.superclass.superclass=>Object1.9.3p194:006>5.class.superclass.superclass.superclass.su