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

编写遍历数据集类别生成出现次数向量的For循环问题求助

统计数据集中各类别出现次数的正确实现

你的代码问题出在循环内的比较逻辑:sum(auctionData$Category == catNames) 是把auctionData$Category和整个catNames向量做比较,而非当前循环对应的单个类别catNames[i],导致计算结果错误。

修正后的for循环代码

numAuctions = rep(NA, length(catNames))
for (i in 1:length(catNames)) {
  numAuctions[i] = sum(auctionData$Category == catNames[i])
}

验证输出

运行后numAuctions会返回每个类别对应的出现次数,示例输出如下:

numAuctions
# 输出:5 10 12 7 8 ...

更简洁的替代方案(无需for循环)

如果不限制必须用for循环,R内置函数可以更高效地实现需求:

# 统计所有类别频次,再按catNames的顺序提取结果
numAuctions = table(auctionData$Category)[catNames]
# 转为纯向量格式(若需要)
numAuctions = as.vector(numAuctions)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:57:07