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

R语言如何将数据框按001:020序列扩展为正方形数据框

实现方法

你需要先将宽格式数据转为长格式,再用complete补全所有行和列的组合,最后转回宽格式即可。如果需要保留001~020的三位字符格式行/列名,使用以下代码:

library(tidyverse)

# 生成001到020格式的目标行/列名序列
target_dim <- sprintf("%03d", 1:20)

# 处理数据
full_df <- data %>%
  rownames_to_column("row_id") %>%
  pivot_longer(-row_id, names_to = "col_id", values_to = "val") %>%
  complete(row_id = target_dim, col_id = target_dim, fill = list(val = NA)) %>%
  pivot_wider(names_from = col_id, values_from = val) %>%
  column_to_rownames("row_id")

如果需要行名、列名为纯数字1到20的格式,调整代码如下:

full_df <- data %>%
  rownames_to_column("row_id") %>%
  mutate(row_id = as.integer(row_id)) %>%
  pivot_longer(-row_id, names_to = "col_id", values_to = "val", names_transform = list(col_id = as.integer)) %>%
  complete(row_id = 1:20, col_id = 1:20, fill = list(val = NA)) %>%
  pivot_wider(names_from = col_id, values_from = val) %>%
  column_to_rownames("row_id")

结果验证

执行dim(full_df)会返回[1] 20 20,空缺位置自动填充为NA,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:39:00