G_mumuxi
G木木夕
采纳率75.5%
2016-05-09 08:24 阅读 6.1k
已采纳

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 小灸舞 2016-05-09 09:50

    试试这样:

     apply(test_matrix, 1, function(x) var.test(x = x[1:8], y = x[9:12]))
    
    点赞 1 评论 复制链接分享

相关推荐