问题描述:
我们需要一个代码把stata复制的数据修改为latex的格式,避免一个个粘贴麻烦的情况。
把:
变为:(负号还未加)
之后粘贴如txt文件去除""
即可。
代码实现:
clc,clear
opts = spreadsheetImportOptions("NumVariables", 1);
opts.Sheet = "Sheet6";
opts.DataRange = "A1:A7";
opts.VariableNames = "VarName1";
opts.VariableTypes = "string";
opts = setvaropts(opts, "VarName1", "WhitespaceRule", "preserve");
opts = setvaropts(opts, "VarName1", "EmptyFieldRule", "auto");
A = readmatrix("正则化.xlsx", opts, "UseExcel", false);
clear opts
c=zeros(7,5);
for i=1:7
for j=1:5
a=A(i);
ss=a;
pattern = '(\d+.\d+)';
matches = regexp(ss, pattern, 'tokens');
k=length(matches);
if k<5
if j==5
b=0;
else
b = str2double(matches{j});
end
else
b = str2double(matches{j});
end
c(i,j)=b;
end
end
d=c;
ii=d>=1000
d(ii) = c(ii)/(1.0e+07);
d(:,[3 4 5])=d(:,[5 3 4]);%交换两列的位置
d = round(d,4);
name=["花菜类" "花叶类" "辣椒类" "茄类" "食用菌" "水生根茎类" "常数"]';
e="&"+name+"&"+d(:,1)+"&"+d(:,2)+"&"+d(:,3)+"&"+d(:,4)+"&"+d(:,5)+"\\";