[英]Variable lengths differ, R
#restricting sample
replicatedata_firststage <- replicatedata_full %>%
filter(!is.na(belief_treatment_w3), hk_local == 1,
followup_postjuly1st_w3 == 1, !is.na(guess_july1_2016_partust_w3pos))
replicatedata_firststage
#directional treatment indicator
belief_treatment_im <- belief_treatment_im %>%
ifelse(replicatedata_firststage$guess_july1_2016_planust_w3 >= 17 & replicatedata_firststage$belief_treatment_w3 == 1, yes = -1)
belief_treatment_im
# Generate sample splitting indicator and interaction with controls
guess_july1_2016_above17 <- replicatedata_firststage$guess_july1_2016_planust_w3[replicatedata_firststage$guess_july1_2016_planust_w3 >= 17]
guess_july1_2016_partustXabv17 = replicatedata_firststage$guess_july1_2016_partust_w3pre * guess_july1_2016_above17
guess_july1_2016_partXabv17 <- replicatedata_firststage$guess_july1_2016_part_w3pre * guess_july1_2016_above17
#generate trimmed prior beliefs
if(!require('DescTools')) {
install.packages('DescTools')
library('DescTools')
}
guess_july1_2016_planust_w3_tr <- if(replicatedata_firststage$guess_july1_2016_planust_w3) { Winsorize(replicatedata_firststage$guess_july1_2016_planust_w3, minval = NULL, maxval = NULL)
}
guess_july1_2016_planust_w3_tr
#first stage regression, for HK students
reg1_1 <- lm(guess_july1_2016_partust_w3pos ~ belief_treatment_w3 + guess_july1_2016_partust_w3pre + guess_july1_2016_above17 + guess_july1_2016_partustXabv17, data = replicatedata_firststage, na.rm = TRUE)
summary(reg1_1)
It run smoothly until the lm(), which turns out that:它运行顺利,直到 lm(),结果是:
Error in model.frame.default(formula = guess_july1_2016_partust_w3pos ~ : variable lengths differ (found for 'guess_july1_2016_above17') model.frame.default 中的错误(公式 =guess_july1_2016_partust_w3pos 〜:可变长度不同(找到'guess_july1_2016_above17')
How can I fix it?我该如何解决? I've tried the na.rm, na.omit(), but didn't work.我试过 na.rm,na.omit(),但没有用。
Keep all of the variables you create inside the dataframe by assigning them replicatedata_firststage$new_var <- my_function(replicatedata_firststage$old_var)
.通过分配它们来将您创建的所有变量保留在数据帧中replicatedata_firststage$new_var <- my_function(replicatedata_firststage$old_var)
。 Then when you call lm()
, all of the referenced variables will be from the dataframe in the data =
argument.然后,当您调用lm()
时,所有引用的变量都将来自data =
参数中的数据框。 Right now the guess_july1_2016_planust_w3_tr
variable (and others) are not in the dataframe so it seems like it might be a different length.现在guess_july1_2016_planust_w3_tr
变量(和其他变量)不在数据框中,所以看起来它可能是不同的长度。
#restricting sample
replicatedata_firststage <- replicatedata_full %>%
filter(!is.na(belief_treatment_w3), hk_local == 1,
followup_postjuly1st_w3 == 1, !is.na(guess_july1_2016_partust_w3pos))
replicatedata_firststage
#directional treatment indicator
replicatedata_firststage$belief_treatment_im <- belief_treatment_im %>%
ifelse(replicatedata_firststage$guess_july1_2016_planust_w3 >= 17 & replicatedata_firststage$belief_treatment_w3 == 1, yes = -1)
replicatedata_firststage$belief_treatment_im
# Generate sample splitting indicator and interaction with controls
replicatedata_firststage$guess_july1_2016_above17 <- replicatedata_firststage$guess_july1_2016_planust_w3[replicatedata_firststage$guess_july1_2016_planust_w3 >= 17]
replicatedata_firststage$guess_july1_2016_partustXabv17 = replicatedata_firststage$guess_july1_2016_partust_w3pre * replicatedata_firststage$guess_july1_2016_above17
replicatedata_firststage$guess_july1_2016_partXabv17 <- replicatedata_firststage$guess_july1_2016_part_w3pre * replicatedata_firststage$guess_july1_2016_above17
#generate trimmed prior beliefs
if(!require('DescTools')) {
install.packages('DescTools')
library('DescTools')
}
replicatedata_firststage$guess_july1_2016_planust_w3_tr <- if(replicatedata_firststage$guess_july1_2016_planust_w3) { Winsorize(replicatedata_firststage$guess_july1_2016_planust_w3, minval = NULL, maxval = NULL)
}
replicatedata_firststage$guess_july1_2016_planust_w3_tr
#first stage regression, for HK students
reg1_1 <- lm(guess_july1_2016_partust_w3pos ~ belief_treatment_w3 + guess_july1_2016_partust_w3pre + guess_july1_2016_above17 + guess_july1_2016_partustXabv17, data = replicatedata_firststage)
summary(reg1_1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.