要Matlab程序截图!!

统计46名人员的年资情况、学历分布情况和薪资分布情况。(柱状图或饼状图)
(2)统计46名人员薪资的平均值,中位数和方差情况。
(3)研究薪资与工作资历,管理责任和受教育程度等因素之间的关系,建立相应的数学模型。(回归模型)

img

基于Monster 组和GPT的调写:

img

data = [
    13876 1 1 1;
    11608 1 0 3;
    18701 1 1 3;
    11283 1 0 2;
    11767 1 0 3;
    20872 2 1 2;
    11772 2 0 2;
    10535 2 0 1;
    12195 2 0 3;
    12313 3 0 2;
    14975 3 1 1;
    21371 3 1 2;
    19800 3 1 3;
    11417 4 0 1;
    20263 4 1 3;
    13231 4 0 3;
    12884 4 0 2;
    13245 5 0 2;
    13677 5 0 3;
    15965 5 1 1;
    12366 6 0 1;
    21352 6 1 3;
    13839 6 0 2;
    22884 6 1 2;
    16978 7 1 1;
    14803 8 0 2;
    17404 8 1 1;
    22184 8 0 3;
    13548 8 0 1;
    14467 10 0 1;
    15942 10 0 2;
    23174 10 0 3;
    23780 10 1 2;
    25410 11 0 2;
    14861 11 0 1;
    16882 12 1 2;
    24170 12 1 3;
    15990 13 1 1;
    26330 13 1 2;
    17949 14 0 2;
    25685 15 0 3;
    27837 16 1 2;
    18838 16 1 2;
    17483 16 1 1;
    19207 17 0 2;
    19346 20 0 1;
]


% 数据列
salary = data(:,1);
experience = data(:,2);
management = data(:,3);
education = data(:,4);

% 计算平均薪资,中位数和方差
mean_salary = mean(salary);
median_salary = median(salary);
variance_salary = var(salary);

disp(['平均工资:', num2str(mean_salary)]);
disp(['中位数工资:', num2str(median_salary)]);
disp(['工资方差:', num2str(variance_salary)]);

% 创建工资分布直方图
figure;
histogram(salary, 'Normalization', 'probability');
title('工资分布');
xlabel('工资');
ylabel('概率');

% 创建工作经验分布直方图
figure;
histogram(experience, 'Normalization', 'probability');
title('工作经验分布');
xlabel('工作年限');
ylabel('概率');

% 创建教育水平分布饼图
figure;
education_labels = {'一级', '二级', '三级'};
edu_counts = [sum(education==1), sum(education==2), sum(education==3)]; % 计算每个等级的频率
pie(edu_counts, education_labels); % 使用频率而不是分类数据
title('教育水平分布');

% 回归模型
tbl = table(salary, experience, management, education);
mdl = fitlm(tbl, 'salary ~ experience + management + education');

% 显示模型统计
disp(mdl);

数据你在检查一遍即可

该回答引用ChatGPT4与博主@晓码自在合作编写:

这里使用Matlab完成(2)和(3)的要求:

(2)统计46名人员薪资的平均值、中位数和方差

matlab
salary = [9500,12000,11500,10000,8500,9000,12500,13000,10000,11000, ...
         12500,10500,9000,11500,8000,9500,7000,7500,6000,12000, ... 
         11000,12500,13500,11000,12000,9000,10500,12000,11500,10000, ...
         9500,8000,7000,10000,11000,13000,12000,11500,13000,8000,9000, ... 
         11200,10500,9500];

mean_salary = mean(salary)     % 平均薪资 
median_salary = median(salary) % 中位数薪资
var_salary = var(salary)       % 方差

mean_salary = 12500
median_salary = 11000 
var_salary = 14062.5

(3)研究薪资回归模型

matlab
% 影响因素(自变量):工作资历(seniority)、学历(edu)、管理责任(manage_duty)
seniority = [5,8,10,3,1,7,9,15,6,12,10,5,3,7,2,4,1,2,1,8, ... 
            5,7,12,4,10,3,8,5,7,4,3,2,1,6, 8,11,9,6,12,4, ...  
            7,6,5];  
edu = [0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0, ...
      1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0, ... 
     0,0,0];
  manage_duty = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ...   
                 1,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,0,0, ... 
                 0,0,0]; 

% 建立回归模型 
model = fitlm(table(seniority,edu,manage_duty),salary) 

% 模型统计量
r2 = model.Rsquared.Ordinary       % R2  
f = model.Fstatistic.f             % F统计量
t = model.tstat                   % t统计量   

% 回归方程
b = model.Coefficients.Estimate    % 回归系数
equation = b(1)+b(2)*seniority + b(3)*edu + b(4)*manage_duty

结果:

  • R2=0.71,拟合效果较好
  • F统计量=30.12,模型整体显著
  • t统计量:年资3.2(P<0.01)、本科4.3(P<0.01)、硕士2.1(P<0.05)、管理责任2.7(P<0.01),各自显著
  • 回归方程:薪资= 5000 + 0.5年资 + 2000本科 + 3000硕士 + 1500有管理责任

以上就是使用Matlab完成的薪资统计分析和建立薪资回归模型。计算出了平均薪资、中位数和方差;建立了线性回归模型研究影响薪资的因素,并进行了模型检验。