楼主: Thanos123
816 4

[问答] 大神们,求帮忙看下代码哪里错了 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
917 个
通用积分
2.0100
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1205 点
帖子
55
精华
0
在线时间
170 小时
注册时间
2016-4-26
最后登录
2024-12-7

楼主
Thanos123 发表于 2018-5-28 14:19:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. d_adult$over_dist <- NA
  2. for(j in d_adult[,'D_P_PRODUCTNAME']){
  3.   for(k in d_adult[which(d_adult[,'D_P_PRODUCTNAME']==j),'D_C_SHOPNAME']){
  4.     d_pr <- d_adult[which(d_adult[,'D_P_PRODUCTNAME']==j&d_adult[,'D_C_SHOPNAME']==k),'M_S_PRICE']
  5.     d_pr1 <- d_adult[which(d_adult[,'D_P_PRODUCTNAME']==j&d_adult[,'D_C_SHOPNAME']==k&d_adult[,'D_T_MONTH']==201804)
  6.                      ,'M_S_PRICE']
  7.     if(d_pr1==NA){
  8.       d_pr1 == 0
  9.     }
  10.     d_sd <- sd(d_pr)
  11.     d_me <- mean(d_pr)
  12.    
  13.     if((d_me+2*d_sd) <= d_pr1)
  14.      {
  15.       d_adult[which(d_adult[,'D_P_PRODUCTNAME']==j&d_adult[,'D_C_SHOPNAME']==k&d_adult[,'D_T_MONTH']==201804)
  16.               ,'over_dist'] <- '过高'
  17.      }
  18.     else if((d_me-2*d_sd) >= d_pr1)
  19.      {
  20.       d_adult[which(d_adult[,'D_P_PRODUCTNAME']==j&d_adult[,'D_C_SHOPNAME']==k&d_adult[,'D_T_MONTH']==201804)
  21.               ,'over_dist'] <- '过低'
  22.      }
  23.     else if((d_me+2*d_sd) > d_pr1&(d_me-2*d_sd) < d_pr1)
  24.      {
  25.       d_adult[which(d_adult[,'D_P_PRODUCTNAME']==j&d_adult[,'D_C_SHOPNAME']==k&d_adult[,'D_T_MONTH']==201804)
  26.               ,'over_dist'] <- '正常'
  27.     }
  28.   }
  29. }
复制代码

想判断每个店铺中的SKU在2018年4月的价格是否变化过大,创建字段over_dist作为判断价格变化过大字段,所以就计算了所有月每个sku的平均值d_me和标准差d_sd,只要不在平均值加减2倍标准差范围内的价格都算变化过大,但总是出现错误,或者输出不对,请各位大神指教
微信截图_20180528141809.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:求帮忙 Adult Over Dis IST

沙发
Ericabc 发表于 2018-5-28 18:42:20
如果d_pr1为NA
d_pr1 <- c(NA)
那么
d_pr1==NA
返回NA
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
Thanos123 发表于 2018-5-28 18:56:59
Ericabc 发表于 2018-5-28 18:42
如果d_pr1为NA
d_pr1
大神,能再细致解释下吗,if(d_pr1==NA){d_pr1==0}不行?

板凳
zerofung 学生认证  发表于 2018-5-28 20:59:31
R里判断NA不是用==的,用is.na(),例如你就应该写if(is.na(d_pr1)) {....你的东西......}
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

报纸
Ericabc 发表于 2018-5-28 23:02:33
zerofung 发表于 2018-5-28 20:59
R里判断NA不是用==的,用is.na(),例如你就应该写if(is.na(d_pr1)) {....你的东西......}
正解         

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-23 12:22