У меня есть следующая переменная кодировка в файле Stata do, который я пытался преобразовать в R:
do
Stata
gen A=q1 if q1<4 gen B=q2 if q2<4 gen C=q3 if q3<4 ...
R
# Example data data = read.csv("https://pastebin.com/raw/BHUJpwqQ") data$A <- subset(data,q1<4) ...
Возвращает:
данные $ A <- данные $ q1 [данные $ q1 <4] Ошибка в <code>$<-.data.frame (*tmp*, «A», значение = список (X = c (1L, 2L, 3L,: замена имеет 106 строк, данные имеют 144
*tmp*
Вопрос:
Как правильно передать команду Stata в R?
У меня работает следующее:
data <- data.frame(q1 = sample(2:6)) within(data, A <- ifelse(q1 < 4, q1, ifelse(q1 >= 4, NA, NA))) q1 A 1 4 NA 2 3 3 3 2 2 4 5 NA 5 6 NA
Пример:
data$A <- ifelse(data$q1 < 4, data$q1, NA)
В действии:
> data <- data.frame(q1 = sample(2:6)) > data q1 1 5 2 2 3 3 4 6 5 4 > data$A <- ifelse(data$q1 < 4, data$q1, NA) > data q1 A 1 5 NA 2 2 2 3 3 3 4 6 NA 5 4 NA