这是我多年来一直想知道的事情,但我永远无法得到答案。
我试图了解如何在 R 中制作数据框,其中数据框的每个元素本身就是一个向量或矩阵。
例如,假设我们有一个规则向量 V,其中元素是实数。
然后访问我们将拥有的任何号码
V[3] 将给出所述向量的第三个元素。
现在我想知道如何使用数据框 D 来做到这一点,
其中数据框的每个元素本身就是一个向量或矩阵,也就是说
D[3] 不是一个实数,而是一个向量。
如何在 R 中做到这一点?
谢谢大家
这是我多年来一直想知道的事情,但我永远无法得到答案。
我试图了解如何在 R 中制作数据框,其中数据框的每个元素本身就是一个向量或矩阵。
例如,假设我们有一个规则向量 V,其中元素是实数。
然后访问我们将拥有的任何号码
V[3] 将给出所述向量的第三个元素。
现在我想知道如何使用数据框 D 来做到这一点,
其中数据框的每个元素本身就是一个向量或矩阵,也就是说
D[3] 不是一个实数,而是一个向量。
如何在 R 中做到这一点?
谢谢大家
这可以这样做:
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.html,https://www.rdocumentation.org/packages/rTensor/versions/ 1.4/主题/张量类)