首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >h2o.ai摘要函数与group_by不兼容

h2o.ai摘要函数与group_by不兼容
EN

Stack Overflow用户
提问于 2019-02-18 20:10:04
回答 1查看 230关注 0票数 0

我试图(实质上)通过移动到R+h2o.ai来加速一些R代码。

我是按单因素变量分组的,但当我试图计算加窗的分位数、偏度或峰度时,会出现错误。

在h2o中是否有与拆分应用-组合方法不兼容的摘要函数列表?它是否只适用于sql-模拟函数,如求和、计数或stdev?

此代码失败:

代码语言:javascript
复制
for(i in col_idx_list){
  proc_cols_list <- names(df.hex)[i]

  group_cols_list <- c("group_variable_factor")

  h2o.quantile(x=df.hex[,proc_cols_list])

  temp <- h2o.group_by(data=df.hex,
                       by=group_cols_list,
                       mean(proc_cols_list),
                       var(proc_cols_list),
                       skewness(proc_cols_list),
                       gb.control=list(na.methods="ignore")  )

  if(i ==first_index){
    df_summs <- temp
  } else {
    df_summs <- h2o.cbind(df_summs , temp[,2:ncol(temp)])
  }
}

此代码运行良好:

代码语言:javascript
复制
for(i in col_idx_list){
  proc_cols_list <- names(df.hex)[i]

  group_cols_list <- c("group_variable_factor")

  h2o.quantile(x=df.hex[,proc_cols_list])

  temp <- h2o.group_by(data=df.hex,
                       by=group_cols_list,
                       mean(proc_cols_list),
                       var(proc_cols_list),
                       gb.control=list(na.methods="ignore")  )

  if(i ==first_index){
    df_summs <- temp
  } else {
    df_summs <- h2o.cbind(df_summs , temp[,2:ncol(temp)])
  }
}

错误文本(为简洁起见截断):

代码语言:javascript
复制
ERROR: Unexpected HTTP Status code: 400 Bad Request (url = http://localhost:54321/99/Rapids)
Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page,  : 
ERROR MESSAGE:
No enum constant water.rapids.ast.prims.mungers.AstGroup.FCN.skewness
ERROR: Unexpected HTTP Status code: 404 Not Found (url = http://localhost:54321/3/Frames/RTMP_sid_8712_17?row_count=10)

ERROR MESSAGE:

Object 'RTMP_sid_8712_17' not found for argument: key
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-20 20:39:32

错误似乎表明skewness是一个问题。有关h2o.group_by()中允许的聚合方法的完整列表,请参见文档的详细信息部分(页面底部)。

为了您的方便,我在这里添加了详细信息部分--您可以看到,当前不包括偏度(如果您有兴趣创建一个JIRA机票):

Details在na.methods中gb.control中有三种可能的设置。“所有”将包括在函数计算中的NAs。"rm“将完全删除所有NA字段。“忽略”将从分子中删除NAs,但为计算目的保留行。如果提供的列表小于列组的数量,则该列表将由“忽略”填充。注意,要在gb.control列表中指定列名列表,必须添加col.names参数。与na.methods类似,如果列表长度小于所提供的列组数,col.names将使用默认列名填充列表。支持的函数包括nrow。此函数是必需的,并接受一个字符串作为生成的列的名称。其他受支持的聚合函数接受用于指定列和处理NAs ("all“、”忽略“和GroupBy对象)的col和na参数;max计算GroupBy对象的每个组在col中指定的每一列的最大值;平均计算GroupBy对象的每组在col中指定的每一列的平均值;min计算GroupBy对象的每一组在col中指定的每一列的最小值;模式计算为GroupBy对象的每一组在col中指定的每一列的模式;sd计算为GroupBy对象的每一组指定的每一列的标准偏差;ss为GroupBy对象的每一组计算在col中指定的每一列的平方和;和为GroupBy对象的每一组计算在col中指定的每一列的和;并且var计算GroupBy对象的每一组在col中指定的每一列的方差。如果提供聚合时没有值(例如,最大值(col=“X1”,na=" all ").mean(col="X5",na=“all”).max(),则假定聚合应该应用于除GroupBy列之外的所有列。但是,不会对字符串列执行操作。他们会被跳过的。再次注意,nrow是必需的,不能为空。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54754644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档