问题描述
我正在尝试执行配对排列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
之类的东西。
以下是boot
与R=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