R中data.table执行order排序后丢失行的问题求助
解决data.table按count列排序后丢失行的问题
问题原因
从你提供的dput输出能看到,count列是list类型,不是常规的数值向量。当执行data.summary[order(count)]时,order()处理list对象只会生成单个排序索引,导致最终只返回一行数据。
解决方案
先将count列从list转换为数值向量,再执行排序:
- 转换列类型:
# 方法1:用unlist展开list data.summary[, count := unlist(count)] # 方法2:直接转为整数类型 data.summary[, count := as.integer(count)]
- 执行排序:
data.summary[order(count)]
执行后就能得到完整的3行排序结果:
summary_type count 1: 1 5119 2: 2 821770 3: 0 62234441
内容的提问来源于stack exchange,提问作者zhang
相关产品推荐
相关产品推荐

