我正在尝试编译正在运行但未编译的代码。
错误消息:从第40-42行退出(midterm.Rmd) data $ Y_i1中的错误:“关闭”类型的对象不可子集化 调用:... withCallingHandlers-> withVisible-> eval-> eval-> Mean 执行停止
CODE
c)使用问题集1中的数据集“ potential_outcomes.Rda”(此考试也在bCourses上加载),使用R计算ATE和SE($ \ hat {ATE} $)。对于后者,假设实验中将有一半单位分配给治疗组,那么ATE是参数还是估计量?SE($ \ hat {ATE} $)怎么样?
ATE <- mean(data$Y_i1) - mean(data$Y_i0)
ATE ## Average Treatment Effect
N1 <- length(data$Y_i1)
N0 <- length(data$Y_i0)
N <- 23 # Half of observations
var1 <- var(data$Y_i1)
var0 <- var(data$Y_i0)
var1N <- var1/N
var0N <- var0/N
SEATE <- sqrt(var1N + var0N)
SEATE ## The Standard Error of the ATE
ATE是一个参数,因为它描述了该框。无需估算。另一方面,ATE的SE接近于均值差的真实标准误差。
答案 0 :(得分:0)
object of type 'closure' is not subsettable
表示您正在尝试对函数进行子集化。如果未设置data
,它将引用data
包中的utils
函数。
is.function(data)
#> [1] TRUE
因此,如果尝试使用$
运算符,则会出现错误。
data$Species
#> Error in data$Species : object of type 'closure' is not subsettable
但是,如果将data
设置为一个数据帧,它将起作用。
data <- iris
data$Species
#> [1] setosa setosa
#> [3] setosa setosa
#> ...