如何在R中创建仅含两列、矩阵作为单列存储的dataframe?
R创建含矩阵列的双变量DataFrame方法
R的data.frame()默认会自动拆分输入的矩阵为多列,要保留矩阵为单独一列,需要用I()(AsIs)函数包裹矩阵,阻止默认拆分行为,具体实现如下:
- 构造示例数据
# 生成7行7列的数值矩阵x x <- matrix(rnorm(49), nrow = 7, ncol = 7) # 生成长度为7的数值向量y y <- rnorm(7)
- 构造目标DataFrame
# 用I()包裹矩阵x,使其作为单独一列存入DataFrame z <- data.frame(x = I(x), y = y)
- 结构验证
执行str(z)可查看结构:输出为'data.frame': 7 obs. of 2 variables:,其中x列为7 x 7 matrix类型,y列为数值向量,完全符合你需要的双变量结构。
后续访问矩阵x的子列时,直接使用z$x[, 列索引]的语法即可,和普通矩阵操作完全一致。
内容的提问来源于stack exchange,提问作者zuko7
相关产品推荐
相关产品推荐

