我想创建一个
循环我不想这样做17次,请给我一些建议以使它们进入循环:
df$a1 <- ifelse(df$b ==1, df$c, NA )
df$a2 <- ifelse(df$b ==2, df$c, NA )
.
.
.
df$a16 <- ifelse(df$b ==16, df$c, NA )
df$a17 <- ifelse(df$b ==17 , df$c, NA )
感谢初学者的任何答案!
答案 0 :(得分:1)
由于您没有提供任何可重现的示例,因此无法在实际数据上进行测试,但是for循环可能看起来像这样:
for (i in 1:17) {
df[[paste0(a, i)]] <- ifelse(df$b == i, df$c, NA)
}
或使用lapply()
,它应该更快:
df[paste0(a, 1:17)] <- lapply(1:17, function(i) ifelse(df$b == i, df$c, NA))