Для преобразования цикла из Stata в R - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь узнать больше о циклах R и хочу преобразовать следующий цикл Stata в R:

generate newvar=0

forvalues i=1/25 {
    replace newvar=1 if PR`i'=="8512" | PR`i'=="8521"  
}

Чтение других постов мне было не так понятно, поэтому этот новый пост.

1 Ответ

0 голосов
/ 28 июня 2018

Вот немного надуманный пример. Stata:

sysuse auto
generate newvar = 0
generate rep79 = rep78
forvalues i = 78/79 {
  replace newvar = 1 if rep`i'==3 | rep`i'==4 
}
quietly sum newvar
di r(mean)
.64864865

R

d <- foreign::read.dta("http://www.stata-press.com/data/r9/auto.dta")
d$newvar <- 0
d$rep79 <- d$rep78
for (i in 78:79) {
  d$newvar <- replace(d$newvar, d[[paste0("rep", i)]] %in% c(3, 4), 1)
}
mean(d$newvar)
# [1] 0.6486486
...