为什么函数返回NULL?

时间:2021-03-09 22:56:03

标签: r function

这里是 R 的初学者,因此对基本问题表示歉意。 为什么 ATE 返回空向量而不是保存均值差的值?

fun.cluster <- function(M, N){
        set.seed(02139)
J <- 1:M # vector J_i
df <- as.data.frame(matrix(data=1:N, nrow = N, ncol = 1)) #data frame of all original values
df$cluster <- cut(df$V1, M, labels = 1:M) #breaking the dataframe into clusters
df$cluster <- as.numeric(df$cluster)
Y1 <- as.vector(sample(J, 5)) # assigning treatment
df$treatment <- ifelse(df$cluster %in% Y1, df$treatment <- 1, df$treatment <- 0)

#Inducing intracluster correlation:
mu_0j <- runif(n = 50, min = -1, max = 1)
df$V1[df$treatment==0] <- mu_0j
mu_1j <- runif(n=50, min = -0.5, max = 1.5)
df$V1[df$treatment==0] <- mu_1j

# drawing values
y_0i <- rnorm(n = 50, mean = mu_0j, sd = 1)
y_1i <- rnorm(n = 50, mean = mu_1j, sd = 1)
D_i <- as.vector(c(y_0i, y_1i))

# calculating ATE:
ATE[i] <- mean(y_1i - y_0i)
}

ATE <- c()
for(i in 1:10){
        fun.cluster(M = 10, N = 100)
}

0 个答案:

没有答案
相关问题