我收到错误“矩阵上的下标数量不正确”

问题描述

我正在尝试执行配对排列t检验。我收到一个错误“ t.star [r,]

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_activity_navigation"
app:startDestination="@id/homeFragment">

  <fragment
    android:id="@+id/homeFragment"
    android:name=<name>
    android:label="Home"
    tools:layout="@layout/fragment_home" />

  <fragment
    android:id="@+id/serachFragment"
    android:name=<name>
    android:label="Search"
    tools:layout="@layout/fragment_search" />

 </navigation>

原始数据,无需链接:

library(RVAideMemoire)
library(boot)
library(xlsx)


mydata <- read.xlsx("C:/data_bootstrap.xlsx",1)

results = boot(mydata,statistic=sample_mean,R=500) 

print (results)

sample_mean <- function(mydata,indices) {

  sam=mydata[indices,1]

  sam1=mydata[indices,2]
 
  
  bar = perm.t.test(sam,sam1,paired=TRUE,nperm=500)
 
return(bar)
 
}

解决方法

boot()函数要求其statistic参数是返回向量的函数。您的sample_mean函数返回类"htest"的列表,因为这是perm.t.test()的输出。根据函数名称,我假设您想要对该测试中的差异均值进行估算。

如果将函数更改为如下所示,则代码将起作用。

sample_mean <- function(mydata,indices) {
  
  sam=mydata[indices,1]
  
  sam1=mydata[indices,2]
  
  
  bar = perm.t.test(sam,sam1,paired=TRUE,nperm=500)
  
  return(bar$estimate)
}

如果您想要与perm.t.test()不同的输出,则将$estimate换成$statistic$p.value之类的东西。

以下是bootR=10(易于管理)的示例:

results = boot(mydata,statistic=sample_mean,R=10) 
print(results)

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = mydata,statistic = sample_mean,R = 10)


Bootstrap Statistics :
     original    bias    std. error
t1* 0.5172414 0.1206897    0.720067

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...