import org.apache.poi.ss.usermodel.Row; //导入方法依赖的package包/类

/**

* generates the IDCG and nDCG

* @param prec_recall

* @param rowPR

* @param ratings

*/

private static void computeIDCG_nDCG(Sheet prec_recall, Row rowPR, ArrayList ratings) {

CellReference cellRefDCGFirst = new CellReference(1, COLUMN_DCG);

CellReference cellRefDCGLast = new CellReference(50, COLUMN_DCG);

Cell cellPR = rowPR.createCell(COLUMN_DCG);

cellPR.setCellFormula("SUM("+cellRefDCGFirst.formatAsString()

+":"+cellRefDCGLast.formatAsString()+")");

//Get the List of ratings and sort them by relevance (rating)

Collections.sort(ratings, new Comparator() {

@Override

public int compare(Rating o1, Rating o2) {

return Float.compare(o2.rating, o1.rating);

}

});

//go through the sheet again and add the ideal rank

int current_position = 1;

for (Iterator it = ratings.iterator(); it.hasNext();) {

int rank = it.next().getCompetenceRank();

Row rowPR2 = prec_recall.getRow(rank);

//CellReference cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex());

cellPR = rowPR2.createCell(COLUMN_IDEAL_RANK, Cell.CELL_TYPE_NUMERIC);

cellPR.setCellValue(current_position);

CellReference cellRefNovice = new CellReference(rowPR2.getRowNum(), COLUMN_NOVICE);

CellReference cellRefIrrelevant = new CellReference(rowPR2.getRowNum(), COLUMN_IRRELEVANT);

CellReference cellRefNoviceWeight = new CellReference(0, COLUMN_NOVICE);

CellReference cellRefIrrelevantWeight = new CellReference(0, COLUMN_IRRELEVANT);

CellReference cellRefIdealRank = new CellReference(rowPR2.getRowNum(), COLUMN_IDEAL_RANK);

cellPR = rowPR2.createCell(COLUMN_IDCG, Cell.CELL_TYPE_NUMERIC);

//LOG 1 is not defined

if(current_position==1)

cellPR.setCellFormula("SUMIF("+cellRefNovice.formatAsString()+":"+cellRefIrrelevant.formatAsString()+",1,"+cellRefNoviceWeight.formatAsString()+":"+cellRefIrrelevantWeight.formatAsString()+")");

else

cellPR.setCellFormula("SUMIF("+cellRefNovice.formatAsString()+":"+cellRefIrrelevant.formatAsString()+",1,"+cellRefNoviceWeight.formatAsString()+":"+cellRefIrrelevantWeight.formatAsString()+")/LOG("+cellRefIdealRank.formatAsString()+",2)");

current_position++;

}

//sum of iDCG

cellPR = rowPR.createCell(COLUMN_IDCG, Cell.CELL_TYPE_NUMERIC);

CellReference cellRefIDCGFirst = new CellReference(1, COLUMN_IDCG);

CellReference cellRefIDCGLast = new CellReference(50, COLUMN_IDCG);

cellPR.setCellFormula("SUM("+cellRefIDCGFirst.formatAsString()+":"+cellRefIDCGLast.formatAsString()+")");

//nDCG

CellReference cellRefDCG = new CellReference(rowPR.getRowNum(), COLUMN_DCG);

CellReference cellRefIDCG = new CellReference(rowPR.getRowNum(), COLUMN_IDCG);

cellPR = rowPR.createCell(COLUMN_nDCG, Cell.CELL_TYPE_NUMERIC);

cellPR.setCellFormula("SUM("+cellRefDCG.formatAsString()+"/"+cellRefIDCG.formatAsString()+")");

}

java for row_Java Row.getRowNum方法代码示例相关推荐

  1. java dispo lock_Java Row.getAs方法代码示例

    import org.apache.spark.sql.Row; //导入方法依赖的package包/类 private void start() { Dataset householdDf = ge ...

  2. cdate在java中_Java Calendar.add方法代码示例

    本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...

  3. java hashmap putall_Java ConcurrentHashMap.putAll方法代码示例

    import java.util.concurrent.ConcurrentHashMap; //导入方法依赖的package包/类 /** * 生成更新Sql * @param entity * @ ...

  4. java中setattribute_Java Files.setAttribute方法代码示例

    import java.nio.file.Files; //导入方法依赖的package包/类 @Override public void setFileHiddenAttribute( String ...

  5. java default locale_Java JSON.defaultLocale方法代码示例

    import com.alibaba.fastjson.JSON; //导入方法依赖的package包/类 public void test_time() throws Exception { lon ...

  6. java foreach order_Java Elements.forEach方法代码示例

    import org.jsoup.select.Elements; //导入方法依赖的package包/类 private ArrayList findOrders(String html) { // ...

  7. java sql xml_Java ResultSet.getSQLXML方法代码示例

    import java.sql.ResultSet; //导入方法依赖的package包/类 protected Object processColumn(ResultSet rs, int inde ...

  8. java get timestamp_Java Timestamp.getTime方法代码示例

    import java.sql.Timestamp; //导入方法依赖的package包/类 /** * Tests fix for BUG#5874, timezone correction goe ...

  9. java的setvisible_Java Container.setVisible方法代码示例

    import java.awt.Container; //导入方法依赖的package包/类 public static void loadOptions(final String name, fin ...

最新文章

  1. java架构设计和框架开发有什么区别
  2. python函数式编程读取数据-python学习笔记9:函数式编程
  3. android 关闭蓝牙打电话功能,Android蓝牙开发【八】hfp接听、挂断电话
  4. python 把函数作为参数 ---高阶函数
  5. springmvc 静态资源 配置
  6. CS230+deeplearning.ai专项课程笔记及作业目录
  7. 设备的开发【WP7学习札记之五】
  8. TypeScript学习(三):联合类型及推论
  9. Deploy Apache Flink Natively on YARN/Kubernetes
  10. FragmentSharedFabTransition
  11. asmack获取用户头像和设置昵称与获取好友昵称
  12. StringTokenizer类
  13. Maven实战 PDF 许晓斌
  14. 微服务框架Jersey:快速入门
  15. 记录一次爬取淘宝/天猫评论数据的过程
  16. 让Thread#stop方法无法终止你的线程
  17. 【Python】【pygame】更逼真的星星、连绵细雨
  18. 【学习OpenCV4】进度条实现总结
  19. 升级到OPENWRT 19.07后LUCI报错
  20. php安全新闻早八点-Microdoor-第一季

热门文章

  1. mapreduce 模板代码
  2. tradingview 修改K线的颜色,边框色,线条色
  3. 内发光html,如何使用css3实现字体内发光效果(详解)
  4. 浅析移动旺旺特服号之无限扩展
  5. JavaScript空判断
  6. Python综合实战-股票数据分析处理(查询接口)
  7. maven库 导入不进来
  8. PowerBI 操作
  9. CISC RISC ARM MIPS区别与联系
  10. SSL 1760——商店选址问题(Floyd最短路)