2 g mumuxi G_mumuxi 于 2016.05.09 16:24 提问

R语言,想用f-test检验方差,矩阵每行怎么用var.test(x, y)???谢谢指导~

f-test检验方差,即var.test(x,y),我会xy向量参,不会放矩阵。。。
感觉函数可能把两个矩阵全部数据对比了,我只是想一行行进行。

具体说就是如下矩阵:

原本是两个样本观测值矩阵,一个6乘7,一个6乘5,我合并了。
(开始未合并,想依次取两个矩阵的对应行做var.test(),可是,我不会。。。)

于是,合。然而合了也不会。。。
现在问题是,对每一行的1到7,8到12,依次进行var.test,

test_matrix
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,] 1 3 45 68 23 23 1 34 32 1 34 32
[2,] 34 34 5 66 43 77 3 34 1 3 34 12
[3,] 32 1 3 45 68 23 45 5 3 45 5 12
[4,] 1 3 45 68 23 23 68 66 45 68 66 23
[5,] 34 34 5 66 43 77 23 43 68 23 43 46
[6,] 32 12 12 23 46 56 23 77 23 23 77 56

我是这么写的,

F_result <- apply(test_matrix, 1, var.test(test_matrix[1:7], test_matrix[8:12]))
Error in match.fun(FUN) :
'var.test(test_matrix[1:7], test_matrix[8:12])'不是函数,也不是字符,也不是符號
应该出6个结果的,然后把好结果的行挑出来,构成新矩阵。

试了好几种了,都不对。(格式不太好,见谅)

1个回答

qq423399099
qq423399099   Ds   Rxr 2016.05.09 17:50
已采纳

试试这样:

 apply(test_matrix, 1, function(x) var.test(x = x[1:8], y = x[9:12]))
G_mumuxi
G_mumuxi 成功索引出来p-value了~是output_result[[某元素]][[3]],class是"numeric"。多谢!
大约 2 年之前 回复
G_mumuxi
G_mumuxi 回复小灸舞: 额,我试试
大约 2 年之前 回复
qq423399099
qq423399099 回复G木木夕: 取出list的元素要用两层中括号,比如你取第一个元素xx[[1]]
大约 2 年之前 回复
G_mumuxi
G_mumuxi 谢谢您!结果完全符合想象,,,另外,您知道如何好结果的行挑出来,构成新矩阵吗?结果我class(output_result)了,是list,元素个数是行数,但是每个元素像是文本文件,然后我对这个list索引成这样output_result[1][1][1]还是list,想根据结果里面的p值小于0.01把对应矩阵行出来,你有好的办法吗?初学R语言,不太懂,添麻烦了~
大约 2 年之前 回复
G_mumuxi
G_mumuxi 回复G木木夕: 谢谢您!结果完全符合想象,,,另外,您知道如何好结果的行挑出来,构成新矩阵吗?结果我class(output_result)了,是list,元素个数是行数,但是每个元素像是文本文件,然后我对这个list索引成这样output_result[1][1][1]还是list,想根据结果里面的p值小于0.01把对应矩阵行出来,你有好的办法吗?初学R语言,不太懂,添麻烦了~
大约 2 年之前 回复
G_mumuxi
G_mumuxi 好厉害。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Ftest(F检验)
1. Ftest(F检验) 1.1 概念 F检验又叫方差齐性检验。在两样本t检验中要用到F检验。 从两研究总体中随机抽取样本,要对这两个样本进行比较的时候,首先要判断两总体方差是否相同,即方差齐性。若两总体方差相等,则直接用t检验,若不等,可采用t'检验或变量变换或秩和检验等方法。 其中要判断两总体方差是否相等,就可以用F检验。 1.2 用处 检验两组数据是否存在显著性差异 1.3
统计学检验——正态性检验和方差齐性检验等
一、统计学基本原理 1 两样本t检验的条件:①两总体都服从正态分布;②两总体方差相等,即方差齐性。 2 配对t检验的条件:差值的总体服从正态分布即可。 二、使用R进行正态性检验和方差齐性检验 1 正态性检验 1.1&amp;nbsp;①Shapiro-Wilk检验(W检验):n≤50;②Shapiro-Francia检验(W’检验):50<n<100. #R语言实现:W/W'检验,Sample...
R语言与回归分析几个假设的检验
转载自:http://blog.csdn.net/yujunbeta/article/details/8169475 一、从线性回归的假设说起         对于线性回归而言,若要求回归估计有一些良好性质比如无偏性,就需要加上一些假定条件。比如要达到估计的无偏性,我们通常需要加上高斯-马尔科夫条件: A1、对参数而言的线性性 A2、样本的随机抽样性 A3、误差的
如何检测异方差并纠正它?
雪晴数据网 线性回归一个重要的假设就是残差没有异方差性。简单来说就是残差的方差不会随着响应变量的拟合值而增加。在本篇文章,我会解释为什么检测异方差性是重要的?如何检测模型的异方差性?如果存在,如何通过R代码来纠正这个问题。这个过程有时也被称为残差分析。 为什么检测异方差很重要? 一旦你建立线性回归模型,通常都要检测残差的异方差性。原因是我们想要检测建立的模型能否解释响应变量Y的一些模式,而它
R语言学习笔记:方差分析
1.单因素方差分析:适用于单因素A有两个水平或以上,研究个水平对因变量的影响 正态假设条件:W检验 shapiro.test():原假设为数据来自正态分布 方差齐性条件:Bartlett检验(主要用于正态分布的数据) bartlett.test(x, g, ...)x是数据向量或列表(list);g是因子向量,如果x是列表则忽略g。 当使用数据集时,也可以通过formula调用函数 b
t 检验
t检验T检验,亦称student t检验(student’s t test),主要用于变量为连续型的组间比较,样本含量较小(例如n<30),总体标准差σ未知且服从正态分布.T检验是用于小样本(样本容量小于30)的两个平均值差异程度的检验方法。它是用T分布理论来推断差异发生的概率,从而判定两个平均数的差异是否显著。为了阐明方法,我们将使用MASS包中的UScrime数据集。它包含1960年美国47个州
R语言学习——向量矩阵
向量: 生成一个向量 x = c(1,2,3)
R语言系列学习(各种检验)
1、W检验(Shapiro–Wilk (夏皮罗–威克尔 ) W统计量检验)     检验数据是否符合正态分布,R函数:shapiro.test().     结果含义:当p值小于某个显著性水平α(比如0.05)时,则认为    样本不是来自正态分布的总体,否则则承认样本来自正态分布的总体。2、K检验(经验分布的Kolmogorov-Smirnov检验)      R函数:ks.test(),如果P
R语言学习:数据结构3-矩阵、数组
矩阵 matrix,向量+维度属性(整数向量:nrow,ncol)。 创建矩阵、矩阵拼接、查看矩阵属性 #matrix x matrix(nrow=3, ncol=2)    //生成缺失值NA为元素的空矩阵.创建矩阵1 x dim(x)    //查看矩阵的维度属性,查看矩阵有多少行,多少列 attributes(x)    //查看矩阵的各个属性 y dim(y) rb
One-tailed F-test with one restriction
beta &amp;lt;- c(1,4,2,3) # The coefficients n &amp;lt;- 20 # The number of observations combo &amp;lt;- c(0,1,1,-1,-1) # The contrast (starting with an intercept coefficient) sigma &amp;lt;- ...