2016-08-16 7 views
0

最後に簡単なバージョンのデータセットを提供します。多くの変数を持つ列を別々の変数列に変換する方法

時間を考えると、9つの異なる科目のすべてのアクティビティ値があります。 私は件名欄に、私は次のような構造を持っているように9つの新しい変数に変換されていることを達成したい:

時間、活動、件名1、件名2、...、件名9

Subject変数にはValueに対応するエントリが含まれます。

だから、最後に、私は時間のすべてのポイントのために持っていたい、8つの活動と

Time | ACTIVITY | Subject1 | Subject2 | ... | Subject9 
    -----| ---------|----------|----------|-----|---------- 
    1995 | A  | example | example |  | example 
    1995 | F  | example | example |  | example 
    1995 | K  | example | example |  | example 
    1995 | J  | example | example |  | example 

...

私はすでに、reshapeコマンドを試してみました reshape wide ACTIVITY, i(Value) j(Subject) stringが、私はそのreshape isn'を疑います正しい結果を得るためにここに正しいコマンドを入力します。

clear 
input int Time str55 Subject str3 ACTIVITY str18 Value 
1995 "Average hours worked per person employed"    "A" "-2.426848"   
1995 "Gross value added per hour worked, constant prices"  "A" "19.235807"   
1995 "Gross value added per person employed, constant prices " "A" "16.342135"   
1995 "Labour compensation per employee "      "A" "-8.435628"   
1995 "Labour compensation per hour worked"      "A" "-7.921433"   
1995 "Total employment (number of persons employed)"   "A" "4.14512"   
1995 "Total hours worked"          "A" "1.617676"   
1995 "Unit Labour Costs"          "A" "-22.776078"   
1995 "Unit Labour Costs, employment based "     "A" "-21.297326"   
1995 "Average hours worked per person employed"    "F" "-1.653278"   
1995 "Gross value added per hour worked, constant prices"  "F" "1.703939"   
1995 "Gross value added per person employed, constant prices " "F" ".02249"    
1995 "Labour compensation per employee "      "F" "2.544764"   
1995 "Labour compensation per hour worked"      "F" "3.459858"   
1995 "Total employment (number of persons employed)"   "F" "1.784137"   
1995 "Total hours worked"          "F" ".101362"   
1995 "Unit Labour Costs"          "F" "1.726501"   
1995 "Unit Labour Costs, employment based "     "F" "2.521708"   
1995 "Average hours worked per person employed"    "K" "1.694564"   
1995 "Gross value added per hour worked, constant prices"  "K" "1.221264"   
1995 "Gross value added per person employed, constant prices " "K" "2.936522"   
1995 "Labour compensation per employee "      "K" "9.752344000000001" 
1995 "Labour compensation per hour worked"      "K" "7.939534"   
1995 "Total employment (number of persons employed)"   "K" "1.113274"   
1995 "Total hours worked"          "K" "2.826703"   
1995 "Unit Labour Costs"          "K" "6.637213"   
1995 "Unit Labour Costs, employment based "     "K" "6.621383"   
1995 "Average hours worked per person employed"    "J" "1.271221"   
1995 "Gross value added per hour worked, constant prices"  "J" ".416748"   
1995 "Gross value added per person employed, constant prices " "J" "1.693267"   
1995 "Labour compensation per employee "      "J" "6.733944"   
1995 "Labour compensation per hour worked"      "J" "4.750437"   
1995 "Total employment (number of persons employed)"   "J" "3.961272"   
1995 "Total hours worked"          "J" "5.28285"   
1995 "Unit Labour Costs"          "J" "4.315704"   
1995 "Unit Labour Costs, employment based "     "J" "4.956746"   
1995 "Average hours worked per person employed"    "C" "-.961265"   
1995 "Gross value added per hour worked, constant prices"  "C" "3.918341"   
1995 "Gross value added per person employed, constant prices " "C" "2.919411"   
1995 "Labour compensation per employee "      "C" "9.327536"   
1995 "Labour compensation per hour worked"      "C" "10.142572"   
1995 "Total employment (number of persons employed)"   "C" "-.615951"   
1995 "Total hours worked"          "C" "-1.571295"   
1995 "Unit Labour Costs"          "C" "5.989541"   
1995 "Unit Labour Costs, employment based "     "C" "6.226353"   
1995 "Average hours worked per person employed"    "BDE" ".052094"   
1995 "Gross value added per hour worked, constant prices"  "BDE" "9.885144"   
1995 "Gross value added per person employed, constant prices " "BDE" "9.942387"   
1995 "Labour compensation per employee "      "BDE" "13.808441"   
1995 "Labour compensation per hour worked"      "BDE" "12.406663"   
1995 "Total employment (number of persons employed)"   "BDE" "-3.86639"   
1995 "Total hours worked"          "BDE" "-3.81631"   
1995 "Unit Labour Costs"          "BDE" "2.294686"   
1995 "Unit Labour Costs, employment based "     "BDE" "3.516435"   
1995 "Average hours worked per person employed"    "MN" ".131723"   
1995 "Gross value added per hour worked, constant prices"  "MN" "-6.173118"   
1995 "Gross value added per person employed, constant prices " "MN" "-6.049526"   
1995 "Labour compensation per employee "      "MN" ".8593380000000001" 
1995 "Labour compensation per hour worked"      "MN" ".451672"   
1995 "Total employment (number of persons employed)"   "MN" "7.730918"   
1995 "Total hours worked"          "MN" "7.872824"   
1995 "Unit Labour Costs"          "MN" "7.060652"   
1995 "Unit Labour Costs, employment based "     "MN" "7.35373"   
1995 "Average hours worked per person employed"    "G_I" "-1.07602"   
1995 "Gross value added per hour worked, constant prices"  "G_I" "4.234882"   
1995 "Gross value added per person employed, constant prices " "G_I" "3.113293"   
1995 "Labour compensation per employee "      "G_I" "3.355356"   
1995 "Labour compensation per hour worked"      "G_I" "3.935881"   
1995 "Total employment (number of persons employed)"   "G_I" "2.40757"   
1995 "Total hours worked"          "G_I" "1.305644"   
1995 "Unit Labour Costs"          "G_I" "-.286853"   
1995 "Unit Labour Costs, employment based "     "G_I" ".234754"   
1996 "Average hours worked per person employed"    "A" "2.25265"   
1996 "Gross value added per hour worked, constant prices"  "A" "5.369203"   
1996 "Gross value added per person employed, constant prices " "A" "7.742802"   
1996 "Labour compensation per employee "      "A" "10.454575"   
1996 "Labour compensation per hour worked"      "A" "5.366434"   
1996 "Total employment (number of persons employed)"   "A" ".451591"   
1996 "Total hours worked"          "A" "2.714414"   
1996 "Unit Labour Costs"          "A" "-.002628"   
1996 "Unit Labour Costs, employment based "     "A" "2.516895"   
1996 "Average hours worked per person employed"    "F" "1.728397"   
1996 "Gross value added per hour worked, constant prices"  "F" "3.759875"   
1996 "Gross value added per person employed, constant prices " "F" "5.553258"   
1996 "Labour compensation per employee "      "F" "5.375732"   
1996 "Labour compensation per hour worked"      "F" "1.426935"   
1996 "Total employment (number of persons employed)"   "F" "-2.600872"   
1996 "Total hours worked"          "F" "-.9174290000000001" 
1996 "Unit Labour Costs"          "F" "-2.248403"   
1996 "Unit Labour Costs, employment based "     "F" "-.168186"   
1996 "Average hours worked per person employed"    "K" "-.480611"   
1996 "Gross value added per hour worked, constant prices"  "K" "7.184181"   
1996 "Gross value added per person employed, constant prices " "K" "6.669043"   
1996 "Labour compensation per employee "      "K" "7.474571"   
1996 "Labour compensation per hour worked"      "K" "7.808084"   
1996 "Total employment (number of persons employed)"   "K" ".219797"   
1996 "Total hours worked"          "K" "-.26187"   
1996 "Unit Labour Costs"          "K" ".582085"   
1996 "Unit Labour Costs, employment based "     "K" ".755166"   
1996 "Average hours worked per person employed"    "J" "1.146989"   
1996 "Gross value added per hour worked, constant prices"  "J" "2.294382"   
1996 "Gross value added per person employed, constant prices " "J" "3.467687"   
1996 "Labour compensation per employee "      "J" "-.888716"   
1996 "Labour compensation per hour worked"      "J" "-1.391543"   
1996 "Total employment (number of persons employed)"   "J" "3.804509"   
1996 "Total hours worked"          "J" "4.995135"   
1996 "Unit Labour Costs"          "J" "-3.603252"   
1996 "Unit Labour Costs, employment based "     "J" "-4.2104"   
1996 "Average hours worked per person employed"    "C" ".127422"   
1996 "Gross value added per hour worked, constant prices"  "C" ".390807"   
1996 "Gross value added per person employed, constant prices " "C" ".5187270000000001" 
1996 "Labour compensation per employee "      "C" "-.219582"   
1996 "Labour compensation per hour worked"      "C" "-.44278"   
1996 "Total employment (number of persons employed)"   "C" "1.171237"   
1996 "Total hours worked"          "C" "1.300151"   
1996 "Unit Labour Costs"          "C" "-.830342"   
1996 "Unit Labour Costs, employment based "     "C" "-.734499"   
1996 "Average hours worked per person employed"    "BDE" "-.10856"   
1996 "Gross value added per hour worked, constant prices"  "BDE" "8.380025"   
1996 "Gross value added per person employed, constant prices " "BDE" "8.262368"   
1996 "Labour compensation per employee "      "BDE" "6.231358"   
1996 "Labour compensation per hour worked"      "BDE" "7.102013"   
1996 "Total employment (number of persons employed)"   "BDE" "-7.014769"   
1996 "Total hours worked"          "BDE" "-7.115713"   
1996 "Unit Labour Costs"          "BDE" "-1.179195"   
1996 "Unit Labour Costs, employment based "     "BDE" "-1.876007"   
1996 "Average hours worked per person employed"    "MN" "-.353884"   
1996 "Gross value added per hour worked, constant prices"  "MN" "1.076035"   
1996 "Gross value added per person employed, constant prices " "MN" ".718343"   
1996 "Labour compensation per employee "      "MN" "1.12435"   
1996 "Labour compensation per hour worked"      "MN" "1.117737"   
1996 "Total employment (number of persons employed)"   "MN" "3.155591"   
1996 "Total hours worked"          "MN" "2.790539"   
1996 "Unit Labour Costs"          "MN" ".041258"   
1996 "Unit Labour Costs, employment based "     "MN" ".403111"   
1996 "Average hours worked per person employed"    "G_I" "-.798141"   
1996 "Gross value added per hour worked, constant prices"  "G_I" "4.965412"   
1996 "Gross value added per person employed, constant prices " "G_I" "4.127639"   
1996 "Labour compensation per employee "      "G_I" "10.194463"   
1996 "Labour compensation per hour worked"      "G_I" "10.477853"   
1996 "Total employment (number of persons employed)"   "G_I" ".885576"   
1996 "Total hours worked"          "G_I" ".080367"   
1996 "Unit Labour Costs"          "G_I" "5.251674"   
1996 "Unit Labour Costs, employment based "     "G_I" "5.826333"   
1997 "Average hours worked per person employed"    "A" ".731776"   
1997 "Gross value added per hour worked, constant prices"  "A" "-3.186056"   
1997 "Gross value added per person employed, constant prices " "A" "-2.477594"   
1997 "Labour compensation per employee "      "A" "-5.06916"   
1997 "Labour compensation per hour worked"      "A" "-6.890363"   
1997 "Total employment (number of persons employed)"   "A" "2.698438"   
1997 "Total hours worked"          "A" "3.44996"   
1997 "Unit Labour Costs"          "A" "-3.826213"   
1997 "Unit Labour Costs, employment based "     "A" "-2.657405"   
1997 "Average hours worked per person employed"    "F" "2.117396"   
1997 "Gross value added per hour worked, constant prices"  "F" "5.906121"   
1997 "Gross value added per person employed, constant prices " "F" "8.148573000000001" 
1997 "Labour compensation per employee "      "F" "1.279112"   
1997 "Labour compensation per hour worked"      "F" "1.322872"   
1997 "Total employment (number of persons employed)"   "F" "1.8041"    
1997 "Total hours worked"          "F" "3.959696"   
1997 "Unit Labour Costs"          "F" "-4.327652"   
1997 "Unit Labour Costs, employment based "     "F" "-6.351874"   
1997 "Average hours worked per person employed"    "K" ".43239"    
1997 "Gross value added per hour worked, constant prices"  "K" "8.700056999999999" 
1997 "Gross value added per person employed, constant prices " "K" "9.170064999999999" 
1997 "Labour compensation per employee "      "K" "11.205117"   
1997 "Labour compensation per hour worked"      "K" "11.399443"   
1997 "Total employment (number of persons employed)"   "K" "-1.822407"   
1997 "Total hours worked"          "K" "-1.397898"   
1997 "Unit Labour Costs"          "K" "2.483335"   
1997 "Unit Labour Costs, employment based "     "K" "1.864112"   
1997 "Average hours worked per person employed"    "J" "-3.236768"   
1997 "Gross value added per hour worked, constant prices"  "J" "21.34373"   
1997 "Gross value added per person employed, constant prices " "J" "17.416115"   
1997 "Labour compensation per employee "      "J" "14.072785"   
1997 "Labour compensation per hour worked"      "J" "18.627454"   
1997 "Total employment (number of persons employed)"   "J" "-7.862875"   
1997 "Total hours worked"          "J" "-10.84514"   
1997 "Unit Labour Costs"          "J" "-2.238497"   
1997 "Unit Labour Costs, employment based "     "J" "-2.84742"   
1997 "Average hours worked per person employed"    "C" ".198729"   
1997 "Gross value added per hour worked, constant prices"  "C" "3.620337"   
1997 "Gross value added per person employed, constant prices " "C" "3.826261"   
1997 "Labour compensation per employee "      "C" "4.423006"   
1997 "Labour compensation per hour worked"      "C" "4.697621"   
1997 "Total employment (number of persons employed)"   "C" "-.840977"   
1997 "Total hours worked"          "C" "-.643919"   
1997 "Unit Labour Costs"          "C" "1.039645"   
1997 "Unit Labour Costs, employment based "     "C" ".574753"   
1997 "Average hours worked per person employed"    "BDE" "1.753725"   
1997 "Gross value added per hour worked, constant prices"  "BDE" "4.57343"   
1997 "Gross value added per person employed, constant prices " "BDE" "6.40736"   
1997 "Labour compensation per employee "      "BDE" ".474943"   
1997 "Labour compensation per hour worked"      "BDE" "-.653428"   
1997 "Total employment (number of persons employed)"   "BDE" "-2.690283"   
1997 "Total hours worked"          "BDE" "-.983739"   
1997 "Unit Labour Costs"          "BDE" "-4.998266"   
1997 "Unit Labour Costs, employment based "     "BDE" "-5.575195"   
1997 "Average hours worked per person employed"    "MN" ".420778"   
1997 "Gross value added per hour worked, constant prices"  "MN" "-1.055989"   
1997 "Gross value added per person employed, constant prices " "MN" "-.639655"   
1997 "Labour compensation per employee "      "MN" "5.067928"   
1997 "Labour compensation per hour worked"      "MN" "4.630638"   
1997 "Total employment (number of persons employed)"   "MN" "7.493905"   
1997 "Total hours worked"          "MN" "7.946215"   
1997 "Unit Labour Costs"          "MN" "5.747318"   
1997 "Unit Labour Costs, employment based "     "MN" "5.744327"   
1997 "Average hours worked per person employed"    "G_I" ".532551"   
1997 "Gross value added per hour worked, constant prices"  "G_I" "3.058326"   
1997 "Gross value added per person employed, constant prices " "G_I" "3.607164"   
1997 "Labour compensation per employee "      "G_I" "2.245979"   
1997 "Labour compensation per hour worked"      "G_I" "2.114407"   
1997 "Total employment (number of persons employed)"   "G_I" ".621482"   
1997 "Total hours worked"          "G_I" "1.157342"   
1997 "Unit Labour Costs"          "G_I" "-.9159080000000001" 
1997 "Unit Labour Costs, employment based "     "G_I" "-1.313795"   
end 
+0

スクリーンショットは非常に限定されています。読者はスクリーンショットと質問の間を行き来し、コピーしてStataに貼り付けることはできません。明示的なデータの例を投稿してください。 'dataex'(SSC;' ssc inst dataex'でインストール)が役に立ちます。コードを書いていないので、あなたの 'reshape'コマンドにはコメントできません。勉強してくださいhttp://stackoverflow.com/help/mcve –

+0

ありがとう編集します。 'reshape'コマンドはこれらのデータに対して間違っていました。以下の答えを見てください。 –

答えて

0

Stataでは、列は行列の列です。列とは、の変数です。

あなたのスクリーンショットは、以下のような問題点を示しています

  1. あなたTime変数とValue変数は文字列です。それは間違っています。おそらくそれらの変数のどこかにゴミがあります。ヘッダーがデータにコピーされている可能性があります。 list Time if missing(real(Time))は、数値以外の値を表示するコマンドの一種です。

  2. Subject変数の末尾に空白が表示されます。一貫していないと問題が発生する可能性があります。

  3. Subject変数の別個の値は、埋め込みスペースが与えられた変数名の一部ではありませんでした。だから、余分な仕事が必要です。

このコードは、おもちゃの例を生成し、いくつかの技術を示しています。あなたの推測に反して、reshapeが選択のコマンドです。

clear 
set obs 6 
gen location = "AUS" 
gen time = 1995 
gen subject = cond(mod(_n, 2), "Fooling around ", " Wasting time") 
gen activity = word("A F K", ceil(_n/2)) 
gen value = _n 
replace subject = trim(subject) 
list 

    +-----------------------------------------------------+ 
    | location time   subject activity value | 
    |-----------------------------------------------------| 
    1. |  AUS 1995 Fooling around   A  1 | 
    2. |  AUS 1995  Wasting time   A  2 | 
    3. |  AUS 1995 Fooling around   F  3 | 
    4. |  AUS 1995  Wasting time   F  4 | 
    5. |  AUS 1995 Fooling around   K  5 | 
    |-----------------------------------------------------| 
    6. |  AUS 1995  Wasting time   K  6 | 
    +-----------------------------------------------------+ 


egen group = group(subject), label 
su group, meanonly 
local gmax = r(max) 
forval g = 1/`gmax' { 
    local lbl`g' "`: label (group) `g''" 
} 
drop subject 

reshape wide value, i(location time activity) j(group) 

forval g = 1/`gmax' { 
    label var value`g' "`lbl`g''" 
} 
list 

    +----------------------------------------------+ 
    | location time activity value1 value2 | 
    |----------------------------------------------| 
    1. |  AUS 1995   A  1  2 | 
    2. |  AUS 1995   F  3  4 | 
    3. |  AUS 1995   K  5  6 | 
    +----------------------------------------------+ 

describe 


Contains data 
    obs:    3       
vars:    5       
size:   60 (99.9% of memory free) 
-------------------------------------------------------------------------------- 
       storage display  value 
variable name type format  label  variable label 
-------------------------------------------------------------------------------- 
location  str3 %9s      
time   float %9.0g     
activity  str1 %9s      
value1   float %9.0g     Fooling around 
value2   float %9.0g     Wasting time 
-------------------------------------------------------------------------------- 
Sorted by: location time activity 
関連する問題