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

如何编写R函数将向量转换为指定格式的矩阵?

解决R函数返回指定矩阵的问题

方法一:直接用cbind构造列矩阵(最直观)

直接将输入值、平方值、立方值分别作为列组合,得到的矩阵正好满足需求:

f <- function(x) {
  cbind(x, x^2, x^3)
}

# 测试输入
f(c(2, 3, 4))

运行输出:

x x^2 x^3
[1,] 2   4   8
[2,] 3   9  27
[3,] 4  16  64

方法二:重塑原函数的向量结果

如果想基于原函数的向量输出改造,可通过matrix()指定按行填充,将长向量转为矩阵:

f <- function(x) {
  res <- c(x, x^2, x^3)
  # 按行填充为 length(x) 行、3列的矩阵
  matrix(res, nrow = length(x), byrow = TRUE)
}

# 测试输入
f(c(2, 3, 4))

运行输出:

[,1] [,2] [,3]
[1,]    2    4    8
[2,]    3    9   27
[3,]    4   16   64

可选:添加列名增强可读性

如果需要给矩阵列命名,可在函数中加入colnames()设置:

f <- function(x) {
  mat <- cbind(x, x^2, x^3)
  colnames(mat) <- c("原值", "平方值", "立方值")
  mat
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:25:26