İlkÖdev- Büşra Bahadir - #4
Conversation
Ödevim
|
sas |
murattasdemir
left a comment
There was a problem hiding this comment.
Genel olarak şöyle sorunlar var:
- Ödev metnini okuduğundan şüphe ettim bir an. Çok basit şeyleri yapmamışsın. Bunlar bilinmeyecek şeyler değil. Önemsenmediğini görüyorum. Mesela dosya ismi. Gayet açık şekilde
BB-odev1.doşeklinde olması gerektiğini söylüyorum ödevde. README.mddosyaları bir amaç için orada. Derslerde altını çizerek bu dosyaların önemini anlatmaya çalıştım. Ama onlara dokunmamışsın.- Diğer sorunları her dosya için review yorumlarında bulacaksın.
There was a problem hiding this comment.
Daima göreceli yolları kullanmalısın. Bu koddan veri dosyasını proje klasörü dışında tuttuğun anlaşılıyor. Büyük hata bu.
Ayrıca hafızada veri varsa bu kod ilk komutta hata verir.
| use "C:\Users\kenan\Desktop\NEW7080 (1).dta" | |
| cd "project-path" | |
| use "data\raw\NEW7080.dta", clear |
There was a problem hiding this comment.
Ortalamaları bu şekilde de bulabilirsin ama standart hataları vermez. Ayrıca iki ortalama arasındaki fark ve bunun standart hatasını da elde edemezsin bu şekilde. ttest komutu ile yaparsan tek komutta hepsini elde edersin.
There was a problem hiding this comment.
Bu hiç bir işine yaramıyor. Neden yaptın anlamadım. Ayrıca yaptığın işleri açıklamıyorsun. Bizim doğum yılı ve çeyreği kuklalarına ihtiyacımız yok ki. Aldığın kodu anlamadan koymamalısın kendi dosyana. Sadece birinci çeyrek kuklasına ihtiyacımız var o da tek satır:
| **********QOB dummies *********** | |
| foreach i of numlist 1/4 { | |
| gen QTR`i'=0 | |
| replace QTR`i'=1 if QOB==`i' | |
| } | |
| ********** QOB*YOB dummies ******** | |
| foreach j of numlist 1/3 { | |
| foreach i of numlist 0/9 { | |
| gen QTR`j'YR`i'=QTR`j'*YR`i' | |
| } | |
| } | |
| gen QOB1 = QTR == 1 /* Dummy takes 1 if first quarter */ |
There was a problem hiding this comment.
Tek bir araç değişken kullanmanız gerekiyordu:
| ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1YR0-QTR1YR9 QTR2YR0-QTR2YR9 QTR3YR0-QTR3YR9 YR0-YR8) | |
| ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1) |
There was a problem hiding this comment.
Önceki yorum burası için de geçerli. Benim ödevde istediğim bu değil. Soruyu iyi oku lütfen.
There was a problem hiding this comment.
Çeyrekler için farklı renkler kullanmak iyi fikir. Ama anahtarda hangisinin hangi çeyrek olduğu belli olsa daha da iyi olurdu.
There was a problem hiding this comment.
Burda daha basit birşey yapabilirdin. Yine açıklama yok. Formülü anlamak için pösteki saymamız mı gerekiyor?
| gen AGE=((79-YOB)*4+5-QOB)/4 | |
| gen YQB = YOB + 0*QTR1 + .25*QTR2 + .5*QTR3 + .75*QTR4 /* Add 0.25 in each quarter */ |
GÖrdüğün gibi tek satırda oluşturuluyor. Sen 131 de bir işlem daha yapmak zorunda kalıyorsun.
There was a problem hiding this comment.
Bu kısımda ne yaptığın beni aşıyor. Öncelikle tex dosyan eksik olduğu için PDF olarak göremiyorum. Zayıf araç değişken için sadece birinci aşama tahminlerin F değerine bakman yetiyordu. Bunun için de zaten yukarıda, önceki sorularda yaptığın ivregress komutuna first seçeneğini eklemen yeterliydi. Bu kadar kod ne işe yarıyor hiç bir fikrim yok. Zaten ben sizden tek bir araç değişken kullanmanızı istemiştim.
Excel dosyalarını proje klasörüne kaydetmiyorsun. Bu dersin en önemli ayağı size "proje" klasörü mantığını kazandırmaktı. Bunlardan bahsettiğim dersi kaçırmış olmalısın.
There was a problem hiding this comment.
head isimli dosya olmadığı için bu kodu kullanarak PDF elde etmem mümkün değil.
There was a problem hiding this comment.
Buna kötü kodlama diyoruz. Herşeyi tekrar yapıyorsun. "Never repeat".
|
Hocam ödevi bu düzeltmeleri yaptıktan sonra yeniden yüklemeli miyim ?
Ben çünkü bu şekilde hatalarımı düzelterek yeniden yapıyorum bu ödevi?
iPhone’umdan gönderildi
… Murat Taşdemir ***@***.***> şunları yazdı (16 Oca 2021 22:31):
@murattasdemir commented on this pull request.
Genel olarak şöyle sorunlar var:
Ödev metnini okuduğundan şüphe ettim bir an. Çok basit şeyleri yapmamışsın. Bunlar bilinmeyecek şeyler değil. Önemsenmediğini görüyorum. Mesela dosya ismi. Gayet açık şekilde BB-odev1.do şeklinde olması gerektiğini söylüyorum ödevde.
README.md dosyaları bir amaç için orada. Derslerde altını çizerek bu dosyaların önemini anlatmaya çalıştım. Ama onlara dokunmamışsın.
Diğer sorunları her dosya için review yorumlarında bulacaksın.
In 2020-fall/analysis/busrabahadirÖdev.do:
> @@ -0,0 +1,172 @@
+use "C:\Users\kenan\Desktop\NEW7080 (1).dta"
Daima göreceli yolları kullanmalısın. Bu koddan veri dosyasını proje klasörü dışında tuttuğun anlaşılıyor. Büyük hata bu.
Ayrıca hafızada veri varsa bu kod ilk komutta hata verir.
⬇️ Suggested change
-use "C:\Users\kenan\Desktop\NEW7080 (1).dta"
+cd "project-path"
+use "data\raw\NEW7080.dta", clear
In 2020-fall/analysis/busrabahadirÖdev.do:
> +sum LWKLYWGE if QTR1==1 & COHORT==2029
+sum LWKLYWGE if QTR1!=1 & COHORT==2029
+sum EDUC if QTR1==1 & COHORT==2029
+sum EDUC if QTR1!=1 & COHORT==2029
Ortalamaları bu şekilde de bulabilirsin ama standart hataları vermez. Ayrıca iki ortalama arasındaki fark ve bunun standart hatasını da elde edemezsin bu şekilde. ttest komutu ile yaparsan tek komutta hepsini elde edersin.
In 2020-fall/analysis/busrabahadirÖdev.do:
> +**********QOB dummies ***********
+foreach i of numlist 1/4 {
+gen QTR`i'=0
+replace QTR`i'=1 if QOB==`i'
+}
+********** QOB*YOB dummies ********
+foreach j of numlist 1/3 {
+foreach i of numlist 0/9 {
+gen QTR`j'YR`i'=QTR`j'*YR`i'
+}
+}
Bu hiç bir işine yaramıyor. Neden yaptın anlamadım. Ayrıca yaptığın işleri açıklamıyorsun. Bizim doğum yılı ve çeyreği kuklalarına ihtiyacımız yok ki. Aldığın kodu anlamadan koymamalısın kendi dosyana. Sadece birinci çeyrek kuklasına ihtiyacımız var o da tek satır:
⬇️ Suggested change
-**********QOB dummies ***********
-foreach i of numlist 1/4 {
-gen QTR`i'=0
-replace QTR`i'=1 if QOB==`i'
-}
-********** QOB*YOB dummies ********
-foreach j of numlist 1/3 {
-foreach i of numlist 0/9 {
-gen QTR`j'YR`i'=QTR`j'*YR`i'
-}
-}
+gen QOB1 = QTR == 1 /* Dummy takes 1 if first quarter */
In 2020-fall/analysis/busrabahadirÖdev.do:
> +********** Panel B***********
+sum LWKLYWGE if QTR1==1 & COHORT==3039
+sum LWKLYWGE if QTR1!=1 & COHORT==3039
+sum EDUC if QTR1==1 & COHORT==3039
+sum EDUC if QTR1!=1 & COHORT==3039
+reg LWKLYWGE QTR1 if COHORT==3039
+reg EDUC QTR1 if COHORT==3039
+sureg (eq1: LWKLYWGE QTR1 ) (eq2: EDUC QTR1 ) if COHORT==3039
+nlcom ratio: [eq1]_b[QTR1]/[eq2]_b[QTR1]
+reg LWKLYWGE EDUC if COHORT==3039
+
+********Cevap b)*********
+******1920-1929 d�nemi i�in********
+keep if COHORT < 2030
+ivregress 2sls LWKLYWGE (EDUC=QTR1)
+ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1YR0-QTR1YR9 QTR2YR0-QTR2YR9 QTR3YR0-QTR3YR9 YR0-YR8)
Tek bir araç değişken kullanmanız gerekiyordu:
⬇️ Suggested change
-ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1YR0-QTR1YR9 QTR2YR0-QTR2YR9 QTR3YR0-QTR3YR9 YR0-YR8)
+ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1)
In 2020-fall/analysis/busrabahadirÖdev.do:
> +nlcom ratio: [eq1]_b[QTR1]/[eq2]_b[QTR1]
+reg LWKLYWGE EDUC if COHORT==3039
+
+********Cevap b)*********
+******1920-1929 d�nemi i�in********
+keep if COHORT < 2030
+ivregress 2sls LWKLYWGE (EDUC=QTR1)
+ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1YR0-QTR1YR9 QTR2YR0-QTR2YR9 QTR3YR0-QTR3YR9 YR0-YR8)
+reg LWKLYWGE EDUC
+reg LWKLYWGE EDUC RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT YR0-YR8 AGEQ AGEQSQ
+
+******1930-1939 d�nemi i�in********
+
+keep if COHORT>3000 & COHORT <3040
+ivregress 2sls LWKLYWGE (EDUC = QTR1)
+ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1YR0-QTR1YR9 QTR2YR0-QTR2YR9 QTR3YR0-QTR3YR9 YR0-YR8)
Önceki yorum burası için de geçerli. Benim ödevde istediğim bu değil. Soruyu iyi oku lütfen.
In 2020-fall/analysis/busrabahadirÖdev.do:
> +reg LWKLYWGE EDUC if COHORT==2029
+**********
+********** Panel B***********
+sum LWKLYWGE if QTR1==1 & COHORT==3039
+sum LWKLYWGE if QTR1!=1 & COHORT==3039
+sum EDUC if QTR1==1 & COHORT==3039
+sum EDUC if QTR1!=1 & COHORT==3039
+reg LWKLYWGE QTR1 if COHORT==3039
+reg EDUC QTR1 if COHORT==3039
+sureg (eq1: LWKLYWGE QTR1 ) (eq2: EDUC QTR1 ) if COHORT==3039
+nlcom ratio: [eq1]_b[QTR1]/[eq2]_b[QTR1]
+reg LWKLYWGE EDUC if COHORT==3039
+
+********Cevap b)*********
+******1920-1929 d�nemi i�in********
+keep if COHORT < 2030
Gözlemleri silersen diğer kohortlar için tahmini nasıl yapacaksın?
In 2020-fall/analysis/busrabahadirÖdev.do:
> +reg EDUC QTR1 if COHORT==3039
+sureg (eq1: LWKLYWGE QTR1 ) (eq2: EDUC QTR1 ) if COHORT==3039
+nlcom ratio: [eq1]_b[QTR1]/[eq2]_b[QTR1]
+reg LWKLYWGE EDUC if COHORT==3039
+
+********Cevap b)*********
+******1920-1929 d�nemi i�in********
+keep if COHORT < 2030
+ivregress 2sls LWKLYWGE (EDUC=QTR1)
+ivregress 2sls LWKLYWGE YR0-YR8 RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT AGEQ AGEQSQ (EDUC = QTR1YR0-QTR1YR9 QTR2YR0-QTR2YR9 QTR3YR0-QTR3YR9 YR0-YR8)
+reg LWKLYWGE EDUC
+reg LWKLYWGE EDUC RACE MARRIED SMSA NEWENG MIDATL ENOCENT WNOCENT SOATL ESOCENT WSOCENT MT YR0-YR8 AGEQ AGEQSQ
+
+******1930-1939 d�nemi i�in********
+
+keep if COHORT>3000 & COHORT <3040
Bu hata verir çalışmaz. Çünkü veri yok hafızada. Yukarıda sildin hepsini 👎
In 2020-fall/analysis/busrabahadirÖdev.do:
> +gen COHORT=2029
+replace COHORT=3039 if YOB<=39 & YOB >=30
+replace COHORT=4049 if YOB<=49 & YOB >=40
+***********
+keep if COHORT>3000 & COHORT <3040
+*********Sekil V**************
+tab QOB, gen(Q)
+gen AGE=((79-YOB)*4+5-QOB)/4
+gen AGE2=AGE^2
+collapse EDUC LWKLYWGE Q*, by(AGE)
+gen YOB = 80-AGE
+label var EDUC "Years of education"
+label var LWKLYWGE "Log Weekly Earnings"
+label var AGE "age"
+label var YOB "Year of Birth"
+twoway (line EDUC YOB) (scatter EDUC YOB if Q1 == 1) (scatter EDUC YOB if Q2 == 1) (scatter EDUC YOB if Q3 == 1) (scatter EDUC YOB if Q4 == 1, msym(Oh))
Çeyrekler için farklı renkler kullanmak iyi fikir. Ama anahtarda hangisinin hangi çeyrek olduğu belli olsa daha da iyi olurdu.
In 2020-fall/analysis/busrabahadirÖdev.do:
> +}
+********** QOB*YOB dummies ********
+foreach j of numlist 1/3 {
+foreach i of numlist 0/9 {
+gen QTR`j'YR`i'=QTR`j'*YR`i'
+}
+}
+********** Select Particular Men Born ********
+gen COHORT=2029
+replace COHORT=3039 if YOB<=39 & YOB >=30
+replace COHORT=4049 if YOB<=49 & YOB >=40
+***********
+keep if COHORT>3000 & COHORT <3040
+*********Sekil V**************
+tab QOB, gen(Q)
+gen AGE=((79-YOB)*4+5-QOB)/4
Burda daha basit birşey yapabilirdin. Yine açıklama yok. Formülü anlamak için pösteki saymamız mı gerekiyor?
⬇️ Suggested change
-gen AGE=((79-YOB)*4+5-QOB)/4
+gen YQB = YOB + 0*QTR1 + .25*QTR2 + .5*QTR3 + .75*QTR4 /* Add 0.25 in each quarter */
GÖrdüğün gibi tek satırda oluşturuluyor. Sen 131 de bir işlem daha yapmak zorunda kalıyorsun.
In 2020-fall/analysis/busrabahadirÖdev.do:
> +***********Cevap c)ZAYIF ARA� DEGISKEN******
+sort Q1
+by Q1: sum LWKLYWGE EDUC
+reg LWKLYWGE Q1, robust
+reg EDUC Q1, robust
+*****COLUMN 1*******
+reg LWKLYWGE EDUC, robust
+outreg2 EDUC using "C:\Users\kenan\Desktop\Table64.xls", replace bdec(3) sdec(3) noaster word
+*********************
+*****FIRST STAGE****
+reg EDUC Q1
+testparm Q1
+local F = r(F)
+*******COLUMN 2*****
+ivregress 2sls LWKLYWGE (EDUC= Q1), robust
+outreg2 EDUC using "C:\Users\kenan\Desktop\Table5.xls", append bdec(3) sdec(3) noaster word addstat (F-stat, `F')
+****COLUMN 3*****0
+reg LWKLYWGE EDUC i.YOB, robust
+outreg2 EDUC using "C:\Users\kenan\Desktop\Table5.xls", append bdec(3) sdec(3) noaster word
+**********************
+******FIRST STAGE*****
+reg EDUC Q1 i.YOB
+testparm Q1
+local F = r(F)
+********COLUMN 4*******
+ivregress 2sls LWKLYWGE (EDUC = Q1) i.YOB, robust
+outreg2 s using "C:\Users\kenan\Desktop\Table5.xls", append bdec(3) sdec(3) noaster word addstat(F-stat, `F')
+**************************
+*****FIRST STAGE*****
+reg EDUC Q2 Q3 Q4 i.YOB
+testparm Q2 Q3 Q4
+local F = r(F)
+********COLUMN 5*******
+ivregress 2sls LWKLYWGE (EDUC = i.QOB) i.YOB, robust
+outreg2 s using "C:\Users\kenan\Desktop\Table5.xls", append bdec(3) sdec(3) noaster word addstat(F-stat, `F')
Bu kısımda ne yaptığın beni aşıyor. Öncelikle tex dosyan eksik olduğu için PDF olarak göremiyorum. Zayıf araç değişken için sadece birinci aşama tahminlerin F değerine bakman yetiyordu. Bunun için de zaten yukarıda, önceki sorularda yaptığın ivregress komutuna first seçeneğini eklemen yeterliydi. Bu kadar kod ne işe yarıyor hiç bir fikrim yok. Zaten ben sizden tek bir araç değişken kullanmanızı istemiştim.
Excel dosyalarını proje klasörüne kaydetmiyorsun. Bu dersin en önemli ayağı size "proje" klasörü mantığını kazandırmaktı. Bunlardan bahsettiğim dersi kaçırmış olmalısın.
In 2020-fall/report/ödev1.tex:
> @@ -0,0 +1,240 @@
+\documentclass[a4paper]{article}
+\input{head}
head isimli dosya olmadığı için bu kodu kullanarak PDF elde etmem mümkün değil.
In 2020-fall/analysis/busrabahadirÖdev.do:
> +*********Cevap d**********
+use "C:\Users\kenan\Desktop\NEW7080 (1).dta"
+rename v4 EDUC
+rename v5 ENOCENT
+rename v6 ESOCENT
+rename v9 LWKLYWGE
+rename v10 MARRIED
+rename v11 MIDATL
+rename v12 MT
+rename v13 NEWENG
+rename v16 CENSUS
+rename v18 QOB
+rename v19 RACE
+rename v20 SMSA
+rename v21 SOATL
+rename v24 WNOCENT
+rename v25 WSOCENT
+rename v27 YOB
+********** YOB dummies **********
+replace YOB=YOB-1900 if YOB >=1900
+foreach i of numlist 0/9 {
+gen YR`i'=0
+replace YR`i'=1 if YOB==20+`i' | YOB==30+`i' | YOB==40+`i'
+}
+********** QOB dummies ***********
+foreach i of numlist 1/4 {
+gen QTR`i'=0
+replace QTR`i'=1 if QOB==`i'
+}
+********** QOB*YOB dummies ********
+foreach j of numlist 1/3 {
+foreach i of numlist 0/9 {
+gen QTR`j'YR`i'=QTR`j'*YR`i'
+}
+}
+********** Select Particular Men Born ********
+gen COHORT=2029
+replace COHORT=3039 if YOB<=39 & YOB >=30
+replace COHORT=4049 if YOB<=49 & YOB >=40
Buna kötü kodlama diyoruz. Herşeyi tekrar yapıyorsun. "Never repeat".
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Ödevim