R矩阵结构-操作问题



我正在尝试解决R程序中的两个主要问题。

首先,我需要创建一种矩阵结构,为不同的个人(行)存储不同变量(列)的值。

主要的问题是,在每对行列中,我需要有一个时间序列形式的观测向量。因为每个不同变量中的时间序列不是按顺序采样的,所以不同的时间序列是不规则的。

我正在考虑使用行名colnames作为访问矩阵中项目的键。

不知道这是否是我所需要的最佳结构。正在使用数据帧,但有人建议移动到矩阵,因为它应该存储大量数据(数据流)。

您可以将单个时间序列存储在列表中,例如l,并在其上设置dim属性。您也可以设置dimnames(即行名和列名)。有了它,你几乎可以像使用矩阵/数据帧一样使用它

# Generate length 15 vectors for 10 subjects
l <- replicate(10, list(rnorm(15)))
dim(l) <- c(5, 2)
dimnames(l) <- list(subject=1:5, variable=c("a", "b"))
l
##        variable
## subject a          b         
##       1 Numeric,15 Numeric,15
##       2 Numeric,15 Numeric,15
##       3 Numeric,15 Numeric,15
##       4 Numeric,15 Numeric,15
##       5 Numeric,15 Numeric,15

现在您可以:

l[[1,1]]    # time series for subject 1, var 1
##  [1] -0.02425  0.88986  0.36260 -1.78774 -1.48874 -1.46750  0.38329
##  [8]  0.18573 -1.65675  0.59374  0.81669  1.06867 -1.71847  0.81889
## [15]  0.10796

l[[2, "b"]] # time series for subject 2, var "b"
##  [1]  0.45616 -0.67563 -1.42116 -0.42621  0.51648  0.35147  0.68243
##  [8]  1.17581 -0.16696  0.77492 -1.76446  1.50580  0.06075  0.37734
## [15] -0.92797

等等。。。

相关内容

  • 没有找到相关文章

最新更新