######################################################## # 職業データ変換テーブル・関数 ######################################################## # 欠損値処理ハッシュ %occmiss =( 689, $MISS{'DKNA'}, # 分類不能の職業 690, $MISS{'OUT'}, # 旧地主 691, $MISS{'OUT'}, # 名目上の役員 986, $MISS{'OUT'}, # 無職 987, $MISS{'OUT'}, # 兵役 988, $MISS{'OUT'}, # 大学生,短大生 989, $MISS{'OUT'}, # 大学院生 990, $MISS{'OUT'}, # その他の生徒,学生 991, $MISS{'OUT'}, # 分類不能の生徒,学生 998, $MISS{'OUT'}, # 非該当 999, $MISS{'DKNA'}, # 不明,無回答 ); # 職業小分類 → 大分類 %occ8 = ( 501, 1, 502, 1, 503, 1, 504, 1, 505, 1, 506, 1, 507, 1, 508, 1, 509, 1, 510, 1, 511, 1, 512, 1, 513, 1, 514, 1, 515, 1, 516, 1, 517, 1, 518, 1, 519, 1, 520, 1, 521, 1, 522, 1, 523, 1, 524, 1, 525, 1, 526, 1, 527, 1, 528, 1, 529, 1, 530, 1, 531, 1, 532, 1, 533, 1, 534, 1, 535, 1, 536, 1, 537, 1, 538, 1, 539, 1, 540, 1, 541, 1, 542, 1, 543, 1, 544, 1, 545, 2, 546, 2, 547, 2, 548, 2, 549, 2, 550, 2, 551, 2, 552, 2, 553, 2, 554, 3, 555, 3, 556, 3, 557, 3, 558, 3, 559, 3, 560, 3, 561, 3, 562, 3, 563, 3, 564, 3, 565, 3, 566, 4, 567, 4, 568, 4, 569, 4, 570, 4, 571, 4, 572, 4, 573, 4, 574, 4, 575, 4, 576, 4, 577, 4, 578, 7, 579, 5, 580, 6, 581, 5, 582, 4, 583, 4, 584, 4, 585, 4, 586, 3, 587, 4, 588, 4, 589, 4, 590, 3, 591, 7, 592, 7, 593, 3, 594, 3, 595, 3, 596, 3, 597, 3, 598, 3, 599, 8, 600, 8, 601, 8, 602, 8, 603, 8, 604, 8, 605, 8, 606, 6, 607, 6, 608, 2, 609, 1, 610, 1, 611, 6, 612, 6, 613, 6, 614, 6, 615, 1, 616, 3, 617, 3, 618, 3, 619, 3, 620, 7, 621, 7, 622, 7, 623, 5, 624, 5, 625, 6, 626, 5, 627, 6, 628, 5, 629, 6, 630, 6, 631, 5, 632, 6, 633, 5, 634, 6, 635, 5, 636, 5, 637, 5, 638, 5, 639, 5, 640, 5, 641, 5, 642, 5, 643, 5, 644, 5, 645, 6, 646, 6, 647, 5, 648, 6, 649, 6, 650, 6, 651, 5, 652, 6, 653, 6, 654, 5, 655, 5, 656, 5, 657, 6, 658, 5, 659, 6, 660, 5, 661, 5, 662, 5, 663, 5, 664, 5, 665, 5, 666, 5, 667, 6, 668, 5, 669, 6, 670, 5, 671, 5, 672, 6, 673, 5, 674, 5, 675, 5, 676, 6, 677, 5, 678, 5, 679, 5, 680, 5, 681, 5, 682, 7, 683, 7, 684, 5, 685, 7, 686, 7, 687, 7, 688, 7, %occmiss ) ; foreach( values %MISS ) { $occ8{$_} = $_ ; } %score75 = ( 501, 62.7, 502, 62.7, 503, 61.0, 504, 62.7, 505, 62.7, 506, 54.6, 507, 54.6, 508, 82.7, 509, 82.7, 510, 65.4, 511, 52.8, 512, 52.8, 513, 52.8, 514, 52.8, 515, 52.8, 516, 61.3, 517, 87.3, 518, 70.3, 519, 73.0, 520, 50.5, 521, 62.9, 522, 62.9, 523, 62.9, 524, 83.5, 525, 62.9, 526, 62.9, 527, 58.7, 528, 70.1, 529, 64.6, 530, 65.8, 531, 56.3, 532, 56.3, 533, 65.8, 534, 58.2, 535, 58.2, 536, 61.3, 537, 50.5, 538, 62.9, 539, 50.5, 540, 50.5, 541, 50.5, 542, 50.5, 543, 50.5, 544, 50.5, 545, 70.5, 546, 81.1, 547, 70.5, 548, 73.3, 549, 70.5, 550, 60.9, 551, 60.4, 552, 60.4, 553, 60.9, 554, 51.6, 555, 51.6, 556, 51.6, 557, 51.6, 558, 51.6, 559, 49.4, 560, 44.6, 561, 32.7, 562, 32.7, 563, 44.6, 564, 47.4, 565, 47.4, 566, 48.9, 567, 52.5, 568, 48.9, 569, 35.5, 570, 28.1, 571, 28.1, 572, 42.3, 573, 42.3, 574, 35.4, 575, 42.3, 576, 40.2, 577, 35.5, 578, 31.4, 579, 45.0, 580, 32.6, 581, 40.7, 582, 32.0, 583, 31.7, 584, 60.5, 585, 31.7, 586, 31.4, 587, 31.7, 588, 31.7, 589, 35.2, 590, 35.2, 591, 31.7, 592, 31.7, 593, 54.2, 594, 54.2, 595, 54.2, 596, 32.4, 597, 32.4, 598, 54.2, 599, 39.9, 600, 42.6, 601, 37.3, 602, 29.6, 603, 29.6, 604, 35.9, 605, 57.3, 606, 51.8, 607, 40.6, 608, 74.8, 609, 74.8, 610, 74.9, 611, 40.7, 612, 40.7, 613, 44.4, 614, 40.7, 615, 57.3, 616, 57.3, 617, 42.2, 618, 39.8, 619, 57.3, 620, 28.1, 621, 28.1, 622, 28.1, 623, 37.3, 624, 39.5, 625, 32.6, 626, 32.6, 627, 37.3, 628, 37.3, 629, 46.8, 630, 37.3, 631, 37.3, 632, 37.3, 633, 40.2, 634, 40.2, 635, 42.6, 636, 42.6, 637, 42.6, 638, 42.6, 639, 42.6, 640, 42.6, 641, 42.6, 642, 42.6, 643, 34.2, 644, 36.7, 645, 34.2, 646, 34.2, 647, 34.2, 648, 32.6, 649, 32.6, 650, 32.6, 651, 42.9, 652, 32.6, 653, 32.6, 654, 42.6, 655, 45.3, 656, 39.5, 657, 32.6, 658, 37.6, 659, 32.6, 660, 32.6, 661, 42.6, 662, 42.6, 663, 42.6, 664, 42.6, 665, 42.6, 666, 42.6, 667, 37.3, 668, 37.3, 669, 37.3, 670, 50.9, # 97.6.25 修正 (50.1→50.9) 671, 50.9, # 97.6.25 修正 (50.1→50.9) 672, 32.6, 673, 40.6, 674, 40.6, 675, 40.6, 676, 41.3, 677, 41.3, 678, 45.3, 679, 45.3, 680, 39.8, 681, 39.8, 682, 26.7, 683, 26.7, 684, 39.8, 685, 27.2, 686, 27.2, 687, 27.2, 688, 27.2, %occmiss ) ; foreach( values %MISS ) { $score75{$_} = $_ ; } %empstat = ( 1, 1, # 経営者 2, 2, # 常雇 3, 3, # 臨時 4, 3, # 派遣 (97.4.1 変更) 5, 1, # 自営 6, 1, # 家族 7, 3, # 内職 8, 9, # 学生 9, 9, # 無職 10, 9, # 兵役 18, 9 # 就業経験なし ) ; foreach( values %MISS ) { $empstat{$_} = $_ ; } sub empstat { if( 8 == $occ8{ $Q[ $W{$_[$[],'job'} ] } ){ return 1 ; } else { return $empstat{ $Q[ $W{$_[$[],'status'} ] } ; } } # -------- int &occ6( int x ); # 職歴段 x を受け取って、職業6分類を返す。 # 1 専門 # 1.5 管理 # 2 大企業事務職 # 2.5 官公庁事務職 # 3 小企業事務職 # 4 販売 # 5 大企業B # 5.5 官公庁B # 6 小企業B # 田中重人、1996「職業構造と女性の労働市場定着性」『ソシオロジ』126: 69-85. # の分類と似ているが、次の点がちがう: # ・管理も有効 # ・官公庁事務を区別している # ・ブルーを企業規模で3分割 # ・臨時を区別しない sub occ6 { local($n) = $_[$[] ; local($o8) = $occ8{ &occ8595($n) } ; # 管理職変換 return 1 if 1==$o8 ; # 専門 return 1.5 if 2==$o8 ; # 管理 local($s) = $Q[$W{$n,'size'}] ; if( 3==$o8 ) { # 事務 return $s if $s<= $missmax ; # 規模欠損 return 2.5 if 10==$s ; # 官公庁W return 2 if 8<=$s ; # 大W return 3 # 小W } return 4 if 4 == $o8 ; # 販売 if( 5<=$o8 && $o8<=7) { # ブルーカラー return $s if $s<= $missmax ; # 規模欠損 return 5.5 if 10==$s ; # 官公庁B return 5 if 8<=$s ; # 大B return 6 # 小B } return $MISS{BLANK} ; # その他は欠損値 } # -------- int &occ8595( int x ); # 職歴段 x を受け取って、「管理」に関する職業コードを変換してかえす # 『1995年SSM調査コード・ブック』p.114 による。 sub occ8595 { local($x) = @_; local($j) = $Q[$W{ $x, 'job'}] ; return $j if $j<=$missmax # 欠損値 || 501<=$j && $j<=544 # 専門 || 545<=$j && $j<=553 # 管理 || 593<=$j && $j<=598 # 保安 || 608==$j # 船長・航海士 || 689<=$j && $j<=999 # 無職・不明 ; local( $s, $p ) = ( $Q[$W{ $x, 'size'}], $Q[$W{ $x, 'post'}] ) ; if( $s<=4 ) { return $j ;} # 29人以下の民間企業か欠損値 elsif( 10==$s ) { # 官公庁 return 545 if 4<=$p && $p<=6 ; # 管理的公務員 return $j ; } else { # 30人以上の民間企業 return 550 if 4==$p || 5==$p ; # 会社団体の管理職員 (部課長) return 548 if 6==$p ; # 会社役員 (社長・重役…) return $j ; } } 1;