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

数据集汇总与重塑:按ID提取指定PainScoreOrder的得分列

我来帮你搞定这个需求!针对你给出的tibble数据集,用tidyverse工具包就能轻松生成你要的汇总表,具体代码和步骤如下:

首先先确认你的原始数据:

temp
# A tibble: 9 x 3
     ID PainScore PainScoreOrder
  <int>     <int> <chr>
1     1         4 First
2     1         2 Middle
3     1         3 Middle
4     1         3 Last
5     2         9 First
6     2         8 Last
7     3         7 First
8     3         4 Middle
9     3         5 Last

接下来是处理代码:

# 先加载tidyverse包(如果还没加载的话)
library(tidyverse)

# 生成汇总表
summary_table <- temp %>%
  # 过滤掉所有PainScoreOrder为"Middle"的记录
  filter(PainScoreOrder != "Middle") %>%
  # 将长格式数据转为宽格式,每个ID占一行
  pivot_wider(
    id_cols = ID,          # 以ID作为唯一分组标识
    names_from = PainScoreOrder,  # 用PainScoreOrder的取值作为新列名
    values_from = PainScore       # 用对应的PainScore填充新列
  )

# 查看最终结果
summary_table

运行后得到的汇总表如下:

# A tibble: 3 x 3
     ID First  Last
  <int> <int> <int>
1     1     4     3
2     2     9     8
3     3     7     5

简单解释下逻辑:

  • 先用filter去掉不需要的"Middle"记录,只保留我们关心的First和Last条目;
  • 再用pivot_wider把数据从长格式转成宽格式,自动按ID分组,把First和Last对应的分数分别放到单独的列里,完美符合你的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:59:54