R - for loop error: "Unexpected '}' in '}'"

R - for loop error: "Unexpected '}' in '}'"

这是我正在尝试的模拟代码 运行:

n_draws <- 1000

black <- rep(0, n_draws)
hispanic <- rep(0, n_draws)
asian <- rep(0, n_draws)
white <- rep(0, n_draws)


cutoff <- c(0.05,0.1,0.25,1)
draws <- runif(n_draws,0,1)

for (i in draws){
  
  if (draws[i] < cutoff[1]){
    
    black[i] <- 1
    
  } else if ((draws[i] >= cutoff[1]) & (draws[i] < cutoff[2])){
    
    hispanic[i] <- 1
    
  } else if ((draws[i] >= cutoff[2]) & (draws[i] < cutoff[3]){
    
    asian[i] <- 1
    
  } else {

white[i] <- 1

 }
}

基本上,我想在相应列表中添加一个 1,条件是该数字落在 (0,1) 范围内。我不确定为什么会出现错误。建议?

您只是在 cutoff[3] 之后缺少一个右括号,在我的示例中也使用了 seq_along,因为它更好一些

for (i in seq_along(draws)){
  
  if (draws[i] < cutoff[1]){
    
    black[i] <- 1
    
  } else if ((draws[i] >= cutoff[1]) & (draws[i] < cutoff[2])){
    
    hispanic[i] <- 1
    
  } else if ((draws[i] >= cutoff[2]) & (draws[i] < cutoff[3])){
    
    asian[i] <- 1
    
  } else {
    
    white[i] <- 1
    
  }
}