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

如何在R中正确透视数据框,避免生成列表列?

数据透视解决方案

你可以使用tidyr包中的pivot_wider()函数实现需求,该函数专门用于将长格式数据转换为宽格式数据。

1. 加载依赖包

先确保安装并加载tidyr(属于tidyverse套件,也可单独加载):

library(tidyr)

2. 执行透视操作

指定site为行标识,n_visit为列名来源,n为填充值,同时处理缺失值:

pivoted_data <- data %>%
  pivot_wider(
    id_cols = site,
    names_from = n_visit,
    values_from = n,
    values_fill = 0,  # 缺失的visit记录用0填充,保留NA可删除此参数
    values_fn = sum   # 同一site同一次visit有多条记录时,求和合并
  )

结果示例

执行后将得到目标结构的数据框,示例片段如下:

sitevisit_1visit_2visit_3
tryon_weber_obs_1000
tryon_weber_obs_2000
rv_pond_obs_11018
tuttle_pond_obs_1565

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:24:54