G木木夕 2016-05-09 08:24 采纳率: 33.3%
浏览 6608
已采纳

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条回答 默认 最新

  • 小灸舞 2016-05-09 09:50
    关注

    试试这样:

     apply(test_matrix, 1, function(x) var.test(x = x[1:8], y = x[9:12]))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料