Перевод кодирования переменной Stata в код R - PullRequest
0 голосов
/ 06 июля 2018

У меня есть следующая переменная кодировка в файле Stata do, который я пытался преобразовать в R:

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

Вопрос:

Как правильно передать команду Stata в R?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

У меня работает следующее:

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
0 голосов
/ 06 июля 2018

Пример:

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
...