我有一个分类和数字数据的单元格。我想将NUTRIENT转换为分类数据,以便在两者之间找到AIR READINGS和SETTLE PLATE READINGS之间的相关性。
我尝试转换为矩阵,然后尝试转换为分类:
A=cell2mat(Air(:,3));
categorical(A)
使用分类的错误
创建Abstract类的实例
不允许“分类”。
任何明显的原因导致这些不起作用?
'AIR READINGS' [] [] []
'PHASE' 'SITE' 'NUTRIENT' '(M)SA'
1 1 'SG' 'NO'
1 2 'SG' 'NO'
1 3 'MG' 'NO'
1 4 'SG' 'NO'
2 1 'LG' 'NO'
2 2 'LG' 'NO'
2 3 'MG' 'MSSA'
2 4 'LG' 'MSSA'
3 1 'SG' 'NO'
3 2 'LG' 'NO'
和
'SETTLE PLATE READINGS' [] [] []
'PHASE' 'SITE' 'NUTRIENT' '(M)SA'
1 1 'SG' 'NO'
1 2 'SG' 'NO'
1 3 'SG' 'NO'
1 4 'SG' 'NO'
2 1 'SG' 'NO'
2 2 'LG' 'NO'
2 3 'MG' 'NO'
2 4 'LG' 'NO'
3 1 'SG' 'NO'
3 2 'NG' 'NO'
3 3 'SG' 'NO'
修改
我正在从excel文件中导入这些数据,但看起来它正在为大单元格内的每个单独条目创建单元格。例如,如果我键入A {2,3},我会得到SG。这不对吗?
答案 0 :(得分:2)
如果您有一个单元格,则无需转换:
NUTRIENT = {'NO' 'NO' 'NO' 'NO' 'NO' 'NO' 'MSSA' 'MSSA' 'NO'}
NUTRIENT_cat = categorical(NUTRIENT)
NUTRIENT_dummy = dummyvar(NUTRIENT_cat')
NUTRIENT =
'NO' 'NO' 'NO' 'NO' 'NO' 'NO' 'MSSA' 'MSSA' 'NO'
NUTRIENT_cat =
NO NO NO NO NO NO MSSA MSSA NO
NUTRIENT_dummy =
0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1
您的类别是:
categories(categories(NUTRIENT_cat))
ans =
'MSSA' 'NO'