Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Stata Forvalues循环转换为R_R_Loops_Stata - Fatal编程技术网

将Stata Forvalues循环转换为R

将Stata Forvalues循环转换为R,r,loops,stata,R,Loops,Stata,我想在一系列变量上运行一个循环(将_1更改为_12),以检查它们是否满足某些条件。基于此,我想创建一个假人。如何在R中执行此循环 generate newvariable=0 forvalues i = 1/12 { replace newvariable=1 if Change_`i'==1 | Change_`i'== 6| Change_`i'==9 } #生成一个包含伪数据的data.frame以匹配您的问题 C#生成一个包含伪数据的data.frame以匹配您的问题

我想在一系列变量上运行一个循环(将_1更改为_12),以检查它们是否满足某些条件。基于此,我想创建一个假人。如何在R中执行此循环

 generate newvariable=0
 forvalues i = 1/12 {  
 replace newvariable=1 if Change_`i'==1 | Change_`i'== 6| Change_`i'==9
    }
#生成一个包含伪数据的data.frame以匹配您的问题
C
#生成一个包含伪数据的data.frame以匹配您的问题

C在Stata中可以是一行(无循环),类似于
egen newvar=anymatch(Change_*),值(1 6 9)
在Stata中可以是一行(无循环),类似于
egen newvar=anymatch(Change_*),值(1 6 9)
# generate a data.frame of fake data to match your problem
C <- 12
R <- 100
data <- matrix(sample(1:9, size=C*R, replace=TRUE), nrow=R, ncol=C)
df <- as.data.frame(data)
names(df) <- paste0("change_",1:C)

# create a new variable
df$newvar = 0

# replace each row of newvar with a 1 if 
# the value for change_i is 1, 6, or 9
for(i in 1:C) {
    who_to_replace <- df[[paste0("change_",i)]] %in% c(1,6,9)
    df[who_to_replace, "newvar"] <- 1
}