【问题标题】:Loading a .mat file that has dots in the variable name加载变量名中包含点的 .mat 文件
【发布时间】:2019-12-17 06:52:12
【问题描述】:

我正在尝试使用“加载”功能加载 .mat 文件。该文件似乎可以正确加载,但某些变量无法访问。我最好的猜测是,这是因为变量的名称(由 R 中的其他人设置,然后导出到 .mat 文件)包含一个点(见图)

例如,其中一个变量是一个名为“final.product”的向量。如果我尝试访问第一个元素,我会得到这个

>>final.product(1)
Undefined variable "final" or class "final.product".

这适用于名称不包含任何点的变量。

我已尝试从工作区修改名称(即单击名称并删除点),但我收到一条错误消息提示

我在命令行窗口中尝试过的所有其他事情都给我错误,例如我的变量不存在或名称无效的事实

>> T = from.product;
Undefined variable "from" or class "from.product".

或者

>>T = load('C:\Users\Loup\Downloads\5. Source-Intermediates-Products.mat', 'final.product');
T = T.('final.product');
Error using load
Invalid field name: 'final.product'.

所以我想我有两个问题:

1) 有人可以确认我的问题是由变量名中的点引起的吗?

2) 有没有办法重命名不需要能够读取的变量?

非常感谢!

【问题讨论】:

  • @ 1) 如果里面有一个点,Matlab 认为它是一个类/对象或结构。所以是的,这可以确认。
  • 我不清楚如何加载名称中带有点的变量...这是一种罕见的情况,显示错误变量的工作区屏幕截图会很有用(请edit你的问题)。
  • @Wolfie 同意,感谢您的建议(现在添加图片)
  • 这些确实不是有效的变量名。我建议在 R 中加载 MAT 文件,并创建一个具有有效变量名的新文件。
  • 谢谢@CrisLuengo,虽然我真的不想和 R 打交道,但我最终还是这么做了……

标签: r matlab variables load


【解决方案1】:

我没有为我想做的事情找到一个好的答案。如果有人遇到同样的问题,我最终不得不在 R 中获取文件并在那里更改名称。

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2014-02-01
    • 2013-07-17
    • 2019-06-24
    • 1970-01-01
    • 2018-03-04
    相关资源
    最近更新 更多