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

R语言计算各主题唯一实例占编码总数的占比问题

解决方案:计算唯一实例占比并筛选主题

1. 计算唯一实例占比(similarity列)

你之前的代码错误在于用group_by(topic)后调用lag(numCoded)——每个主题本身就是单独一行,lag找不到前序数据才会出现NA,而且这个逻辑和你需要的「唯一实例占编码总数的比例」完全不相关。

直接通过mutate计算numUnique与numCoded的比值即可,转成百分比的话乘以100:

library(tidyverse)

# 计算similarity列(百分比格式)
propAgree <- propAgree %>%
  mutate(similarity = (numUnique / numCoded) * 100)

# 若需要小数格式(0-1之间),去掉*100即可
# propAgree <- propAgree %>% mutate(similarity = numUnique / numCoded)

用你给出的示例数据,计算后结果如下:

topicnumCodednumUniquesimilarity
A6352~82.54
B13491~67.91
C1916~84.21
D3535100.00

2. 筛选占比最高/最低的10个主题

使用slice_max和slice_min可以快速筛选指定数量的极值行,也可以合并结果方便查看:

# 筛选占比最高的10个主题
top_10 <- propAgree %>%
  slice_max(order_by = similarity, n = 10)

# 筛选占比最低的10个主题
bottom_10 <- propAgree %>%
  slice_min(order_by = similarity, n = 10)

# 合并最高/最低结果(可选)
combined_result <- bind_rows(
  top_10 %>% mutate(group = "最高占比Top10"),
  bottom_10 %>% mutate(group = "最低占比Top10")
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:03:25