【问题标题】:Table variable name duplication error when trying to plot iris dataset尝试绘制虹膜数据集时表变量名称重复错误
【发布时间】:2021-03-06 04:30:01
【问题描述】:

我一直在尝试绘制包含萼片长度、萼片宽度、花瓣长度和花瓣宽度的四维数据集的二维组合的每个组合的虹膜数据点。我尝试按照Fuzzy C-Means Clustering for Iris Data 中编写的文档进行操作,但我遇到了诸如“在 ASCII 文件 iris.dat 的第 1 行使用加载未知文本时出错”之类的错误 “鸢尾花”。当我尝试在命令窗口中输入 load iris.dat 时。

这是我目前写的:

iris = readtable('iris.dat');
setosa = iris(1:50,:);
versicolor = iris(51:100,:);
virginica = iris(101:150,:);
obsv_n = size(iris, 1);

Characteristics = {'sepal length','sepal width','petal length','petal width'};
pairs = [1 2; 1 3; 1 4; 2 3; 2 4; 3 4];
h = figure;
for j = 1:6
    x = pairs(j, 1);
    y = pairs(j, 2);
    subplot(2,3,j);
    plot([setosa(:,x) versicolor(:,x) virginica(:,x)],[setosa(:,y) versicolor(:,y) virginica(:,y)], '.');
    xlabel(Characteristics{x});
    ylabel(Characteristics{y});
end

我唯一遇到的问题是 plot 命令的行,它给了我“使用 askisi1_5 时出错”(第 14 行) 重复的表变量名称:'Var1'。'

【问题讨论】:

    标签: matlab matlab-figure


    【解决方案1】:

    虽然我没有 Fuzzy Logic Toolbox,但我有 Statistics & ML Toolbox,它提供了一个名为“fisheriris.csv”的文件,可以用readtable() 打开。我怀疑您需要做的就是在连接来自不同表数组的具有相同变量名的列之前调用table2array()(即在执行[setosa(...,n) versicolor(...,n) ...]之类的操作之前):

    iris = readtable('fisheriris.csv');
    setosa = iris(1:50,:);
    versicolor = iris(51:100,:);
    virginica = iris(101:150,:);
    
    Characteristics = {'sepal length','sepal width','petal length','petal width'};
    setosa = table2array(setosa(:,1:end-1));
    versicolor = table2array(versicolor(:,1:end-1));
    virginica = table2array(virginica(:,1:end-1));
    
    pairs = [1 2; 1 3; 1 4; 2 3; 2 4; 3 4];
    h = figure;
    for j = 1:6
        x = pairs(j, 1);
        y = pairs(j, 2);
        subplot(2,3,j);
        plot([setosa(:,x) versicolor(:,x) virginica(:,x)], [setosa(:,y) versicolor(:,y) virginica(:,y)], '.');
        xlabel(Characteristics{x});
        ylabel(Characteristics{y});
    end
    

    【讨论】:

    • 谢谢!我花了好几个小时才能够将 iris 表的某些部分保存到变量中,因为我是使用 matlab 进行分析的新手。
    猜你喜欢
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 2021-09-26
    • 2019-06-18
    • 2018-09-19
    • 2021-06-28
    • 2021-04-02
    • 2022-09-27
    相关资源
    最近更新 更多