在 MATLAB 中分隔整数列和其他数字列 table
Separate integer and other numeric columns in MATLAB table
我有一个使用数据存储函数存储的 table (csv),我想将 table 中的整数列(分类)和另一个 table 中的浮点列(数字)分开=17=]。我尝试了以下代码
int_col = all(round(Data) == Data,1);
cat_data = Data(:,int_cols);
num_data = Data(:,~int_cols);
但我收到以下错误
Undefined function round for input of type table
在执行整数值检查之前,您需要先将 table 转换为数组(使用 table2array
)。
t = table(rand(5,1), randi(5,5,1), 'VariableNames', {'floats', 'ints'});
%// Look for integer columns
isInt = ~any(mod(table2array(t), 1));
%// Grab the columns that are integers
integer_table = t(:,isInt);
%// Grab the non-integer columns
non_integer_table = t(:,~isInt);
我有一个使用数据存储函数存储的 table (csv),我想将 table 中的整数列(分类)和另一个 table 中的浮点列(数字)分开=17=]。我尝试了以下代码
int_col = all(round(Data) == Data,1);
cat_data = Data(:,int_cols);
num_data = Data(:,~int_cols);
但我收到以下错误
Undefined function round for input of type table
在执行整数值检查之前,您需要先将 table 转换为数组(使用 table2array
)。
t = table(rand(5,1), randi(5,5,1), 'VariableNames', {'floats', 'ints'});
%// Look for integer columns
isInt = ~any(mod(table2array(t), 1));
%// Grab the columns that are integers
integer_table = t(:,isInt);
%// Grab the non-integer columns
non_integer_table = t(:,~isInt);