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

R语言计算特定字符串随时间变化的出现占比并绘制折线图

R实现方案

1. 依赖安装与加载

使用tidyverse生态的工具即可完成需求,包含数据处理和绘图所需的全部功能:

# 首次使用先安装包
install.packages("tidyverse")
# 加载包
library(tidyverse)

2. 数据导入

如果是本地存储的数据集,可直接用read.csv()/read.table()读取,以下是对应你给出的样例数据的构造代码,实际使用时替换为你自己的读取逻辑即可:

df <- read.table(text = "Individual      Year     ID
A                1       R
A                1       S
A                1       T
A                2       T
B                1       T
B                5       T
C                7       S
D                9       K
D                8       H
E                1       S", header = TRUE)

3. 计算每年ID为S的占比

按年份分组统计总数和S的数量,直接计算占比即可:

s_ratio <- df %>%
  group_by(Year) %>%
  summarise(
    total_id = n(),
    s_count = sum(ID == "S"),
    `Percentage of S` = s_count / total_id
  ) %>%
  select(Year, `Percentage of S`)

运行后输出的s_ratio和你给出的期望结果完全一致。

4. 绘制折线图

ggplot(s_ratio, aes(x = as.factor(Year), y = `Percentage of S`, group = 1)) +
  geom_line(color = "#2c3e50", linewidth = 1) +
  geom_point(size = 3, color = "#e74c3c") +
  labs(x = "年份", y = "ID为S的占比", title = "ID S随年份的演变趋势") +
  theme_minimal()

如果需要x轴展示连续的完整年份(包含没有ID记录的年份),把as.factor(Year)改为Year即可,无数据的年份会自动留白。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:15:05