使用离散化误差:本边缘必须一个向量,是真实的,数字或逻辑,单调递增。
5视图(30天)
显示旧的评论
你好,
我有下面的代码:
N =元素个数(newdata);
split_newdata =细胞(1,N);
split_newdata_mean =细胞(1,N);
为2 = 1:N
temp =重塑([newdata {2} {:}], [], 2);
idx =离散化(临时(:1),[0 split_points_noID (ii):)正]);
split_newdata {2} = groupsummary(临时(:,2)、idx @ (x) {x});
split_newdata_mean {2} = cellfun (@ (x)的意思是(x,“omitnan”),split_newdata {2});
结束
但我继续得到错误:
错误使用离散化
本边缘必须一个向量,是真实的,数字或逻辑,单调递增。
错误CRM_analysis(第167行)
idx =离散化(临时(:1),[0 split_points_noID (ii):)正]);
在这里我附上了两个文件。实际上我想分裂的单个细胞
newdata
根据截止点的牛
split_points_noID
。如果这是有意义的。
谢谢你的帮助!
* *编辑:
我得到一个很奇怪的不完整split_newdata(见文件)。
0评论
接受的答案
沃斯
2022年12月15日
负载newdata
负载split_points_noID
不是每一行
split_points_noID
是单调递增的,因为有时有些落后0吗
disp (split_points_noID)
修复的代码工作,这种情况下,删除每一行的0
split_points_noID
,使用逻辑索引或
非零
,在你使用它之前
离散化
:
N =元素个数(newdata);
split_newdata =细胞(1,N);
split_newdata_mean =细胞(1,N);
为2 = 1:N
temp =重塑([newdata {2} {:}], [], 2);
idx =离散化(临时(:1),[0 0 (split_points_noID (ii,:))。' Inf]);% 0
% idx =离散化(临时(:1),[0 split_points_noID (ii, split_points_noID (ii):) > 0)正]);%逻辑索引
split_newdata {2} = groupsummary(临时(:,2)、idx @ (x) {x});
split_newdata_mean {2} = cellfun (@ (x)的意思是(x,“omitnan”),split_newdata {2});
结束