id <- c('1001','1001','1001','1002','1002','1003','1003','1003','1003')
item <- c('milk','bread','cake','milk','sugar','bread','cake','cafe','milk')
df1 <- data.frame(id, item, stringsAsFactors = F)
for (i in c(1:length(df1$id)-1)) {
if (df1$id[i+1] == df1$id) df1$target <- df1$item[i+1]
else (df1$target <- NA)
}
上述代码我贴个截图,因为发现发出来以后格式有点问题:
错误提示:
希望得到:
id item target
1001 milk bread
1001 bread cake
1001 cake NA
1002 milk sugar
1002 sugar NA
1003 bread cake
1003 cake cafe
1003 cafe milk
1003 milk NA
请教各位大神,代码出错在哪,应该怎样得到如上结果?


雷达卡





京公网安备 11010802022788号







