微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在语法 gramEvol 包中生成数据帧

如何解决如何在语法 gramEvol 包中生成数据帧

我需要在 gramEvol 包中制作数据框

set.seed(123)
dt <- as.data.frame(matrix(ncol = 4,nrow = 0))
colnames(dt) <- c("pat","price","mindist","StopNext")
# make dataframe with random rows
for(i in 1:sample(5:15,1)){
  pat <- sample(c("O","H","L"),1)
  price <- sample(-5:5,size = 1)
  mindist <- sample(seq(0,0.5,by = 0.1),1) 
  StopNext <- sample(c("stop","next"),1,prob = c(0.3,0.7)) 
  res <- data.frame(pat,price,mindist,StopNext)
  dt <- rbind.data.frame(dt,res)    
}

喜欢这个

 dt
    pat price mindist StopNext
    1   H    -3     0.1     next
    2   H     5     0.4     stop
    3   H     0     0.0     next
    4   L    -1     0.2     stop
    5   O     3     0.0     next
    6   L     2     0.1     next
    7   H     3     0.5     next
 

但我不明白如何在 gramEvol 这是我得到的

library("gramEvol")
ruleDef <- list(  result = grule( data.frame(pat,StopNext) ),pat = grule("O",price = grule( -5,-4,-3,-2,-1,2,3,4,5),mindist = grule( 0.01,0.02,0.03,0.04,0.05,0.1,0.2,0.3,0.4,0.5 ),StopNext = grule("stop","next")
                  )
grammarDef <- CreateGrammar(ruleDef)



GrammarRandomExpression(grammarDef,numExpr = 3)

[[1]]
expression(data.frame("H","next"))

[[2]]
expression(data.frame("O","next"))

[[3]]
expression(data.frame("O","stop"))

但我想获得三个日期框架

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。