You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中使用data.table统计满足特定条件的观测值数量

使用R data.table实现分组正负计数统计

完全可以使用data.table包实现该需求,实现逻辑简洁高效,以下是完整可运行代码:

1. 加载包与构造数据集

# 加载data.table包
library(data.table)
# 构造示例数据集
data <- data.frame(ID = c(1,1,1,1,1,2,2,2,2),
                   year = c(1,2,3,4,5,1,2,3,4),
                   score = c(0.89943475,-3.51761975,1.54511640,-1.38284380,2.45591240,-1.89925250,0.83935451,-0.61843636,-0.70421765))
# 转换为data.table对象
dt <- as.data.table(data)

2. 分组统计核心代码

按ID分组统计时,利用R中逻辑值运算的特性:TRUE对应数值1,FALSE对应数值0,直接对判断条件求和即可得到对应计数,总观测数直接调用data.table内置的.N变量获取:

result <- dt[, .(
  pos = sum(score > 0),
  neg = sum(score < 0),
  total = .N
), by = ID]

3. 输出结果验证

打印result即可得到你需要的输出格式:

ID pos neg total
1:  1   3   2     5
2:  2   1   3     4

如果需要导出为csv格式,可以使用fwrite(result, "result.csv"),输出的csv内容和你给出的预期格式完全一致。

内容的提问来源于stack exchange,提问作者codemachino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:09:03