楼主: fuckingsb
3392 4

[问答] r语句问题,如何一段时间内满足一定的条件 [推广有奖]

  • 2关注
  • 0粉丝

大专生

0%

还不是VIP/贵宾

-

威望
0
论坛币
349 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
259 点
帖子
8
精华
0
在线时间
56 小时
注册时间
2014-3-21
最后登录
2024-9-20

楼主
fuckingsb 发表于 2015-11-5 23:41:35 |AI写论文
1论坛币
求大神指导一段语句。这是原语句 if (ema3 > ema5 && ema3 > ema13 && ema3 > ema21 && ema5 > ema13)。当某天满足这四个条件是时候会执行一个指令,但最后发现条件太多,执行次数不足,如何用r写语句,只要这四个条件在n天内都出现过,就可以在n天内都出现的那天执行。然后循环结束。这样也是为了增大执行次数

最佳答案

jiangbeilu 查看完整内容

这段代码应该可以解决你的问题,并不需要循环
关键词:R语句 EMA MA1 如何用 如何

沙发
jiangbeilu 学生认证  发表于 2015-11-5 23:41:36
这段代码应该可以解决你的问题,并不需要循环
  1. set.seed(2015)
  2. # 有4个向量
  3. x1=sample(1:100,10)
  4. x2=sample(1:100,10)
  5. x3=sample(1:100,10)
  6. x4=sample(1:100,10)
  7. # 有3个条件需要满足
  8. v1=x1<x2
  9. v2=x3>x4
  10. v3=x4>x2
  11. # 并成一个data.frame或者matrix都行
  12. z1<- data.frame(v1,v2,v3)
  13. # 查看哪一天是全部满足条件的
  14. which(apply(z1,1,sum)==3)
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

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

藤椅
hongweigg 发表于 2015-11-6 16:00:15
感觉应主要为程序逻辑问题,可用如下逻辑:
match.c<-FALSE

#检查是否已满足条件,若尚未发现满足的条件,则进行检查,并修改标记值
if(match.c == FALSE){
        match.c <- ema3 > ema5 && ema3 > ema13 && ema3 > ema21 && ema5 > ema13
}

#如果已满足条件,则执行,否则不执行
if(match.c == TRUE){
        do_your_processing_here;
}

供参考
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

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

板凳
fuckingsb 发表于 2015-11-9 03:24:55
jiangbeilu 发表于 2015-11-5 23:41
这段代码应该可以解决你的问题,并不需要循环
其实我的意思是在n天内满足这几个要求的语句,比如在4天内满足这三个要求,比如v1,v2,v3任何一个指令出现的时候或者联合出现但没有都出现的时候算第一天,如何第二天出现剩下的条件,那么就可以在第二天执行一个命令。也不用等到第四天,或者有天v1和v2出现,记这天为第一天,在这之后第四天V3满足,就也可以执行相同的命令。不是非要一天内三个条件都满足,这样执行命令的次数会减少。因为条件很苛刻

报纸
jiangbeilu 学生认证  发表于 2015-11-9 12:54:53
如果是这样,比如有3个条件,在一段时间满足了1,2,3条件,那么是不是就算是一个结算,执行之后,如果再出现3,算不算执行呢?
就是1,2,3,3算不算一个整体?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 16:38