R:具有动态变量名的循环

R:具有动态变量名的循环,r,loops,R,Loops,我正在尝试运行以下循环 for(i in 1:5) { nam <- paste("cons_", i, sep = "") new_data[nam] <- with(new_data, ifelse(cons>2 & remember==1 & comp==i, 1, NA)) new_data[nam] <- with(new_data, ifelse(cons<3 & remember==1 & comp==i,

我正在尝试运行以下循环

for(i in 1:5) { 
  nam <- paste("cons_", i, sep = "")
  new_data[nam] <- with(new_data, ifelse(cons>2 & remember==1 & comp==i, 1, NA))
  new_data[nam] <- with(new_data, ifelse(cons<3 & remember==1 & comp==i, 0, new_data[nam]))
}

能否提供
新数据的结构
?请尝试
新数据[[nam]]
。请参阅
帮助(“[”)
。但是它没有正确地评估此结果…请向我们显示当前结果和所需结果。
structure(
  list(
    id = 1:6,
    comp = c(1L, 1L, 1L, 1L, 1L, 1L),
    remember = c(1L,
                 1L, 1L, 1L, 1L, 1L),
    cons2 = c(3L,
              1L, 1L, 2L, 2L, 3L),
    cons_1 = c(1, 0, 0, 0, 0, 1),
    cons_2 = c(NA,
               NA, NA, NA, NA, NA),
    cons_3 = c(NA, NA, NA, NA, NA, NA),
    cons_4 = c(NA,
               NA, NA, NA, NA, NA),
    cons_5 = c(NA, NA, NA, NA, NA, NA),
    cons_6 = c(NA,
               NA, NA, NA, NA, NA),
    cons_7 = c(NA, NA, NA, NA, NA, NA),
    cons_9 = c(NA,
               NA, NA, NA, NA, NA)
  ),
  .Names = c(
    "id",
    "comp",
    "remember",
    "cons2",
    "cons_1",
    "cons_2",
    "cons_3",
    "cons_4",
    "cons_5",
    "cons_6",
    "cons_7",
    "cons_9"
  ),
  row.names = c(NA, 6L),
  class = "data.frame"
)