我正在加载数据集,我正在接受用户输入以查找特定城市的列值。
例如:
city=input('Select city : ','s');
result=data(ismember(data.CITY,eval('city')),3:end);
我收到了:
Y2000 Y2002 Y2003 ..
100 120 150
或者如果用户输入年份:
year=input('Select year : ','s');
result=data(:,{'CITY',eval('year')});
现在,我想在“结果”中找到最小值,但我无法弄清楚如何。
另外,如果我这样做:
分钟(data.Y2000)
在整个数据中它的工作原理。但是如果我尝试min(data.year),那么
year=input('Select year ','s')
我收到了
“无法识别的变量名称'年'。”
--------------- UPDATE ------------------------------- ----------------------
对于以上所有,我做了:
result=data(:,{'CITY',(year)});
为了找到我所做的最小值:min(result.(year));
并且它有效。
我遇到了问题:
result=data(ismember(data.CITY,(city)),3:end);
我收到用户选择年份的日期。我想在所有列中找到最小值。因为“结果”是一个数据集,我试图使它成为一个单元格,然后是单元格矩阵。
我使用dataset2cell然后我收到一个大小为2x22的单元格,其中包含第1行中的字符。 (它有'Y200','Y2001'..)和第2行的数字数据。
为了删除这些字符,我做了:
mycell(any(cellfun(@(x)x(1)=='Y',mycell),2),:) = []
然后:
新= cell2mat(了myCell)
因为我想找到最小值和最大值。
但这导致一半的值为零。
我可以做些什么来防止这种情况?或者如果还有其他方法可以找到分钟。