啊啊啊啊啊吖

2018-10-17   阅读量: 1251

数据分析师 R语言 程序报错

在用R做for 嵌套 if 提示 参数长度为0错误

扫码加入数据分析学习群

最近在试图做一个产品路径的数据处理,逻辑是对同一个 id,'target' 字段取下一行的 ‘item’ 值,代码如下:

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[i]df1$id)df1target[i] <- df1$item[i+1]

else(df1$item[i+1]else(df1target <- NA)

}

得到错误提示:argument is of length zero

希望得到:

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

解决方法:

用括号把 (length(df1id−1)括起来了变成1:(length(df1id)-1), 这样结果就得到 1 2 3 4 5 6 7 8,避免了从 0 开始的报错了💛

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 3 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子