R语言按两个条件对数据分组并生成新数据表的实现咨询
你可以直接使用data.table的原生语法实现需求,fread导入的结果本身就是data.table格式,无需额外转换:
实现代码
方法1:原地修改原有表,新增分组列
# 新增numberOfAdjustments分组列 result[, numberOfAdjustments := fifelse(totalAdjustments == 1, "oneAdjustment", "twoOrMoreAdjustments")] # 提取需要的两列得到最终表 final_dt <- result[, .(numberOfAdjustments, accuracy)]
注:fifelse是data.table提供的高性能判断函数,效率远高于基础版ifelse,如果习惯用基础函数也可以直接替换成ifelse
方法2:不修改原有表,直接生成新表
final_dt <- copy(result)[, numberOfAdjustments := fifelse(totalAdjustments == 1, "oneAdjustment", "twoOrMoreAdjustments")][, .(numberOfAdjustments, accuracy)]
运行后final_dt就是你需要的结构的数据表。
内容的提问来源于stack exchange,提问作者Jonas
相关产品推荐
相关产品推荐

