2016-08-16 4 views
0

끝에 간단한 데이터 집합을 제공합니다.많은 변수가있는 열을 개별 변수 열로 변환하는 방법

주어진 시간을 감안할 때, 나는 9 개의 다른 과목에 대한 모든 활동 값을 가지고 있습니다. 는 I 피사체 칼럼 9 개 새로운 변수로 변환되는 것을 달성 할 같은 I는 다음의 구조를 갖고 있음 :

시간, 활동, 제목 1 제목 2, ..., 제목 9

어디 주체 변수에는 값의 해당 항목이 들어 있습니다.

그래서 말에 나는 시간의 모든 지점을 갖고 싶어, 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 
관련 문제