创建独特的交互变量

版本1.2.0.0 (6.81 KB 布莱恩Weidenbaum
有效地添加n方式,自定义命名,*唯一的*交互变量到您的数据集。

608下载

更新4月4日2012

查看许可协议

函数data_set = create_interaction_variables(data_set,vars,range_nways,separator,max_varname_length)
% create_interaction_variables

% for Matlab R13+
%版本1.1(2012年4月)
(c)布莱恩·魏登鲍姆
%的网站:http://www.BrianWeidenbaum.com/


% OUTPUT:您的数据集(或基于您的矩阵的数据集),用新的、恰当命名的*惟一的*交互变量更新,
%,从至少2到用户指定的任何数字

%输入(** =可选)
%输入名称:(输入数据类型/s)——描述

% data_set:(数据集或矩阵)——您想要更改的数据

% **vars:(字符/数字单元数组,或数字向量,或'ALL')——
% default: 'ALL'
你想要交互的变量的名称;或者,您想要交互的变量的列号
% OR,你可以只说'ALL'自动包含所有变量

% **range_nways (vector OR 'MAX')——
%默认值:2
此函数生成的交互项中要包含的变量数量的范围
%或者,只需输入“MAX”,以使用两个变量的最大可能数量的变量

% **分隔符(char)——
% default: '_'
的分隔符字符串
%构成新交互变量的变量名。默认的
%是'_'。例如,默认情况下,Var1和Var2之间的交互将是
%命名为'Var1_Var2'。

** *max_varname_length (number)——
%默认值:63
%新创建的交互术语的变量名的最大长度。
任何动态生成的变量名(例如:'Var1_Var2')将从新数据集中排除。
您应该根据计划用于数据的数据库设置max_varname_length——
%例如,如果你只想在MATLAB中使用这个数据,你应该设置max_varname_length=63(数据集类支持的最大长度,万博1manbetx
%,但是如果你计划将数据导出到Oracle,你应该将它设置为30左右



%的例子

您有一个包含3个变量的数据集:a、b和c。
您希望为所有变量创建交互项,最多3种方式。。
%你输入:
% new_dataset = create_interaction_variables(old_dataset,'all','max');
% new_dataset将包含:
% a.*b,命名为“a_b”
% a.*c,命名为“a_c”
% b.*c,命名为'b_c'
%和a.*b。*c,命名为'a_b_c',
%加上所有原始变量。
它不会包含b.*a, c.*a等,因为这些不是唯一的组合。

您有一个包含3个变量的数据集:a、b和c。
您希望创建交互项,最多有两种方式,仅用于列2和3。
%你输入:
% new_dataset = create_interaction_variables(old_dataset,[2 3],2);
% new_dataset将只包含b。
%加上所有原始变量。

您有一个包含3个变量的数据集:a、b和c。
您想要创建交互项,最多有两种方式,仅针对'a'和'c'。
%你输入:
% new_dataset = create_interaction_variables(old_dataset,{'a','c'},2);
% new_dataset只包含一个。*c,
%加上所有原始变量。

您有一个包含3个变量的数据集:a、b和c。
您想要创建交互项,只有3种方式,只针对所有变量。。
%你输入:
% new_dataset = create_interaction_variables(old_dataset,'all',3);
% new_dataset将只包含a .* b .* c,
%加上所有原始变量。

引用作为

布莱恩·魏登鲍姆(2022年)。创建独特的交互变量(//www.tianjin-qmedu.com/matlabcentral/fileexchange/35981-create-unique-interaction-variables), MATLAB中央文件交换。检索

MATLAB版本兼容性
使用R2011b创建
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!

开始狩猎!