Я копирую код R для байесовского анализа, но я получил эту ошибку, которую я попытался решить, а также прочитал здесь другие вопросы, но все же это не работает. Я использую тот же набор данных и те же переменные (от OECD). Может ли кто-нибудь сказать мне, почему это не работает? Мой код заключается в следующем: данныевыбранные уникальные столбцы (байесовский анализ)
rm(list=ls())
# Name of variables to be extracted
v.resp=c("pv1math") # Response Variable
v.treat=c("IC02Q01","IC02Q02","IC02Q03") # Treatment variable(s)
# Student Confoundings
v.student.conf=c("Age", "Gender", "isced_0", "IMMIG", "HEDRES", "WEALTH", "ESCS","FAMSTRUC","hisced","hisei","HOMEPOS", "TIMEINT")
# School Confoundings
v.school.conf=c("CLSIZE","SCMATEDU","STRATIO","SMRATIO","PublicPrivate")
## LOAD DATA
dat <- read.dta("name.dta")
## Weighted sample with weights in the w vector
w=dat$W_FSTUWT
Subset в R
dat=dat[c(v.resp,v.treat,v.student.conf,v.school.conf)]
names(dat)[names(dat)==v.resp]="y"
w=w[complete.cases(dat)]
w=w/sum(w)
nw=function(w) w/sum(w)
dat=dat[complete.cases(dat),]
dim(dat)
Когда я запускаю линию dat=dat[c(v.resp,v.treat,v.student.conf,v.school.conf)]
я получил ошибку Ошибка в [.data.frame
(Дат, с (v.resp, v. treat, v.student.conf, v.school.conf)): выбраны неопределенные столбцы
У меня есть 25000 наблюдений и 900 переменных, но я хочу подмножить свои данные с 21 переменной и связанными с ними наблюдениями (меньше 25000 наверняка). Я помещаю запятую между ними)], но ничего, запустите другие строки, я теряю все данные.
Я также запустить этот код с «сайта Quick-R», но опять же сообщение об ошибке
# select variables v1, v2, v3
myvars <- c("v1", "v2", "v3")
newdata <- mydata[myvars]
Я хотел бы понять, почему это не работает. Я копирую и вставляю эти коды из бумаги, которая использовала их для одного и того же набора данных. Спасибо.
Не могли бы вы запустить 'любой (с (v.resp, v.treat, v.student.conf, v.school. conf)% in% names (dat)) '? Если он возвращает FALSE, то имена столбцов не существуют в фреймворке данных. Возможно, 'read.dta' просто неправильно передает имена столбцов. – Vandenman
Спасибо! Я попытался, и у меня нет этого сообщения об ошибке, наблюдения меньше, чем раньше, но у меня есть еще 900 переменных, когда мне должно быть 21 (те, которые я хочу сохранить) – sicecon