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

使用dplyr将中介分析单行结果数据框重排为多行规范格式

实现方案

你可以配合tidyr(tidyverse生态组件,和dplyr适配性最优)的长表转换函数实现需求,完整代码如下:

1. 加载依赖包

library(dplyr)
library(tidyr)

2. 数据转换代码

# 示例输入数据
df <- read.table(text="lab_x lab_m lab_y    coef_xm    coef_my   coef_xy
    v1    v2        v3  -0.21***    0.08*** -0.084***", header = TRUE)

# 转换逻辑
result <- df %>%
  # 提取3个系数列为长格式
  pivot_longer(
    cols = starts_with("coef_"),
    names_to = "relation",
    names_prefix = "coef_",
    values_to = "coef"
  ) %>%
  # 按系数对应的变量关系匹配var1、var2
  mutate(
    var1 = case_match(relation,
      "xm" ~ lab_x,
      "my" ~ lab_m,
      "xy" ~ lab_x
    ),
    var2 = case_match(relation,
      "xm" ~ lab_m,
      "my" ~ lab_y,
      "xy" ~ lab_y
    )
  ) %>%
  # 输出指定列,可加arrange调整行顺序匹配示例
  select(var1, var2, coef) %>%
  arrange(var1, desc(var2))

输出结果预览

# A tibble: 3 × 3
  var1  var2  coef     
  <chr> <chr> <chr>    
1 v1    v2    -0.21*** 
2 v2    v3    0.08***  
3 v1    v3    -0.084***

如果是多组中介结果的多行输入,上述代码无需额外调整即可自动批量转换。

内容的提问来源于stack exchange,提问作者L. Tucker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:06:03