为什么引导返回所有 NA 值
Why is boot returning all NA values
谁能告诉我为什么 boot()
在下面的代码中返回所有 NA 值?
library(boot)
diff.means.boot <- function(data, k) {
m1 <- mean(subset(data, vs == 1)[k, "mpg"])
m2 <- mean(subset(data, vs == 0)[k, "mpg"])
return(m1-m2)
}
boot(data=mtcars, statistic=diff.means.boot, R=1000)
在函数中使用 subset
通常是不明智的,但使用长度与数据对象的行数不同的向量进行索引更不明智。
boot
函数传递了一系列行名的索引向量,这些索引向量已从完整数据集的 "universe"(采样框架)中进行了替换采样。取而代之的是,在 索引完成后,将“[”函数用于子设置的附加级别 :
diff.means.boot <- function(data, k) {
m1 <- mean(data[k, ][data$vs==1, "mpg"])
m2 <- mean(data[k, ][data$vs==0, "mpg"])
return(m1-m2)
}
同一个电话后:
# Bootstrap Statistics :
# original bias std. error
# t1* 7.940476 -7.837067 2.079209
谁能告诉我为什么 boot()
在下面的代码中返回所有 NA 值?
library(boot)
diff.means.boot <- function(data, k) {
m1 <- mean(subset(data, vs == 1)[k, "mpg"])
m2 <- mean(subset(data, vs == 0)[k, "mpg"])
return(m1-m2)
}
boot(data=mtcars, statistic=diff.means.boot, R=1000)
在函数中使用 subset
通常是不明智的,但使用长度与数据对象的行数不同的向量进行索引更不明智。
boot
函数传递了一系列行名的索引向量,这些索引向量已从完整数据集的 "universe"(采样框架)中进行了替换采样。取而代之的是,在 索引完成后,将“[”函数用于子设置的附加级别 :
diff.means.boot <- function(data, k) {
m1 <- mean(data[k, ][data$vs==1, "mpg"])
m2 <- mean(data[k, ][data$vs==0, "mpg"])
return(m1-m2)
}
同一个电话后:
# Bootstrap Statistics :
# original bias std. error
# t1* 7.940476 -7.837067 2.079209