首页 文章

Bootstrap重采样

提问于
浏览
0

我正在尝试使用以下代码进行bootstrap重采样 . 我从http://spark.rstudio.com/ahmed/bootstrap/获得了此代码 . 我想使用我的数据集从网站绘制相同的图 . data1和data2是文本文件,只包含一列 .

a = read.table("/home/Desktop/data1.txt")
b = read.table("/home/Desktop/data2.txt")
diff.observed = mean(b) - mean(a)
Warning messages:
1: In mean.default(b) : argument is not numeric or logical: returning NA
2: In mean.default(a) : argument is not numeric or logical: returning NA
> diff.observed 
[1] NA

我没有得到观察数据集的平均值 .

alpha = 0.05

# Number of replicates
n = 1000

# Difference between means of bootstrapped datasets (n replicates)
diff.bootstrap = NULL

for (i in 1 : n) {
    # Sample with replacement
    a.bootstrap = sample  (a, length(a), TRUE)
    b.bootstrap = sample  (b, length(b), TRUE)

    diff.bootstrap[i] = mean(b.bootstrap) - mean(a.bootstrap)
}
 plot(density(a.bootstrap))
 plot(density(b.bootstrap))
 plot(density(diff.bootstrap))
Error in density.default(diff.bootstrap) : 'x' contains missing values

我不明白这个错误 . 您的建议将不胜感激!

1 回答

  • 0

    您可以将数据加载到 matrix 然后 mean 应该工作:

    a = as.matrix(read.table ("data1.txt"))
    b = as.matrix(read.table ("data2.txt"))
    diff.observed = mean(b) - mean(a)
    

相关问题