我正在尝试使用以下代码进行引导重采样。我从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我不明白这是什么错误。您的建议将不胜感激!
发布于 2014-09-27 00:43:38
您可以将数据加载到matrix中,然后mean就可以工作了:
a = as.matrix(read.table ("data1.txt"))
b = as.matrix(read.table ("data2.txt"))
diff.observed = mean(b) - mean(a)https://stackoverflow.com/questions/25872030
复制相似问题