【问题标题】:matlab to R import structurematlab到R的导入结构
【发布时间】:2014-10-09 17:46:02
【问题描述】:

例如,我在 matlab 中有一个结构

A =

在:[200x1 双倍]

列:{28x1}

行数:[200x28 双倍]

如何在 R 中创建一个数据框,其中 A.cols 作为列,A.rows 作为标题 和 A.in 作为数据

我正在使用 R.Matlab 包,但是当我读入 mat 文件时卡住了,我该怎么做? 感谢您的帮助!

【问题讨论】:

    标签: r matlab


    【解决方案1】:

    MATLAB: 中将您的 A 转换为数据集并使用 export() 函数创建一个文本文件(而不是 .mat 文件)。请注意,您的列名和行名必须是字符串单元格,而不是数字向量。 因为您的 A.in 是一个数字矩阵:

    A.rows = [11,12,13,14,15];      %#  numeric vector
    A.cols = {'A','B','C','D','E'}; %#  cell of strings
    A.in = magic(5);                %#  numeric matrix
    DS = mat2dataset(A.in,'VarNames',A.cols, 'ObsNames',cellstr(num2str(A.rows')));
    export(DS,'file','A.txt')         
    

    根据需要为您的文件命名,例如'A.txt'。 您可以通过以下方式检查名为“A.txt”的文件的内容:

     type A.txt
    

    R 中选择您的'A.txt' 文件所在的文件夹并使用函数read.table()

    A <- read.table('A.txt',header = TRUE)
    rownames(A)    <- A$Observations
    A$Observations <- NULL
    

    在 R 中探索您想要的 MATLAB 变量:

    head(A)
    #     A  B  C  D  E
    # 11 17 24  1  8 15
    # 12 23  5  7 14 16
    # 13  4  6 13 20 22
    # 14 10 12 19 21  3
    # 15 11 18 25  2  9
    

    请注意,在您提供的示例中,您的数据在A.rows,行名在A.in

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 2017-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多