我不确定这是否是您要查找的内容,但如果我需要这样做,我会首先生成可以在数据集中随机应用的匿名函数和通用变量名称。
例如,您可以生成一个数据集:
myData = rand(100,6);
并创建一些包含相互依赖关系的函数
interact = @(x) x*x;
interact2 = @(x) x*(x-1);
然后创建一个随机的逻辑分布
y = 圆形(兰德(100,1)); %(100行随机0或1)
遍历数据集并仅在 y 为 true 的行上使用交互函数
数据集(y == 1,:) = 交互(数据集(y==1,:));
如果您愿意,请使用您定义的其他交互功能重复上述操作。这样做可能会很有用,这样您就可以避免行依赖(见下文),因此可以按顺序生成一些数据集,即
数据集2(y==1,:) = 交互2(数据集(y==1,:));
可以对变量采取类似的方法(在示例集中,它显示了一些分类变量)。
myVariable = repmat('data', 100, 1);
listofvariables = genvarname(cellstr(myVariable));
y = round(rand(100,1)); % logical index for the data
随机选择一个泛型变量进行重复
applyvar = round(rand(1,1)*100);
selectedVariable = listofvariables(applyvar);
用重复的变量替换变量列表的索引
listofvariables(y == 1) = selectedVariable;
按照您选择的顺序将数据集放在一起
[cellstr(num2str(dataset(:,1))) listofvariables cellstr(num2str(dataset(:,2)) cellstr(num2str(dataset2(:,2))]