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

如何在R中创建tibble列表列 实现向量的向量存储效果

问题解决方案

报错原因

你当前的写法会将所有ar的数值拼接为一个长度为24的普通原子向量,和seed、sd列的12行长度不匹配,因此触发维度冲突报错。
要实现每行存长度为2的向量,需要将ar定义为列表列:tibble支持列表类型的列,每个元素可以是任意长度的向量/对象。

正确实现代码

df2 = tibble(
  seed = rep(c(289805, 671086, 799837), 4),
  sd = rep(c(1, 3, 5, 10), each=3),
  # 将每个长度为2的向量作为列表的单个元素再重复4次
  ar = rep(list(c(0.4, 0.4), c(0.45, 0.45), c(0.35, 0.6)), 4)
)

如果已经生成过df1,也可以直接修改列:

library(dplyr)
df2 <- df1 %>%
  mutate(ar = rep(list(c(0.4, 0.4), c(0.45, 0.45), c(0.35, 0.6)), 4))

效果验证

打印df2即可看到你预期的输出格式,访问某一行的向量时使用双中括号提取即可,比如提取第一行的ar向量:

df2$ar[[1]]
# 输出 [1] 0.4 0.4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:36:05