如何制作以列表或向量为元素的数据框

数据挖掘 r 数据 代码
2022-03-10 12:10:06

这是我多年来一直想知道的事情,但我永远无法得到答案。

我试图了解如何在 R 中制作数据框,其中数据框的每个元素本身就是一个向量或矩阵。

例如,假设我们有一个规则向量 V,其中元素是实数。

然后访问我们将拥有的任何号码

V[3] 将给出所述向量的第三个元素。

现在我想知道如何使用数据框 D 来做到这一点,

其中数据框的每个元素本身就是一个向量或矩阵,也就是说

D[3] 不是一个实数,而是一个向量。

如何在 R 中做到这一点?

谢谢大家

2个回答

这可以这样做:

library(data.table)

dt<-data.table(x=c("a","b","c"), y= lapply(1:3, function(x) matrix(rep(x, x*x), nrow=x)))

dt[2, y]

#[[1]]
#     [,1] [,2]
#[1,]    2    2
#[2,]    2    2

dt[2, `:=`(y=list(c(1,2,3)))]
dt[2,y]

#[[1]]
#[1] 1 2 3


```

Dataframe 是 R 中二维矩阵的表示。R 不支持可以表示更复杂结构的 MultiIndex 数据帧。

也许您可以将问题建模为张量(https://cran.r-project.org/web/packages/tensorr/vignettes/introduction.htmlhttps://www.rdocumentation.org/packages/rTensor/versions/ 1.4/主题/张量类