R的新手我有一些Stata的代码,我想在R中重现

问题描述

我已经在Stata中编写了以下代码,希望在R中进行复制。

{'DailyRate': {0: '903'},'distanceFromHome': {0: '2'},'EnvironmentSatisfaction': {0: '1'},'HourlyRate': {0: '41'},'JobInvolvement': {0: '4'},'JobLevel': {0: '3'},'JobSatisfaction': {0: '3'},'MonthlyIncome': {0: '7880'},'MonthlyRate': {0: '2560'},'NumCompaniesWorked': {0: '0'},'PercentSalaryHike': {0: '18'},'RelationshipSatisfaction': {0: '4'},'StandardHours': {0: '80'},'TotalWorkingYears': {0: '9'},'TrainingTimesLastYear': {0: '3'},'YearsAtCompany': {0: '8'},'YearsInCurrentRole': {0: '7'},'YeaRSSinceLastPromotion': {0: '0'},'YearsWithCurrManager': {0: '7'},'MaritalStatus_': {0: '2'},'Jobrole_': {0: '7'},'Gender_': {0: '1'},'EducationField_': {0: '1'},'Department_': {0: '2'},'BusinessTravel_': {0: '2'},'OverTime_': {0: '1'},'Over18_': {0: '1'},'Age': '39'}

有关如何做到的任何见解?我是R的新手。

数据-样本:

heckman wage i.age i.profstat i.edlevel,select(i.profstat i.edlevel ur i.ethnicity mstatus) twostep first mills(imr)

predict simwage,xb
replace wage = simwage if missing(wage) & !missing(profstat)

解决方法

类似的东西。我们需要评估模型并执行插补过程。 在选择方程式中,您必须使用适当的I()或新变量

您的其他问题 How do I correct this Error in Heckman selectionmodel when implementing in R?

因此,尽管您的工资为0或其他,您可能没有NA的工资 然后使用eq像这样:I(wage != 0)

讨论后编辑:

require(sampleSelection)
#Hecman model
  
heckman <- selection(selection = I(!is.na(wage)) ~ ur + mstatus,outcome = wage ~ profstat,data = data,method = "2step")

#prediction
simwage <- predict(heckman,data)

data$wage_p <- simwage 
# imputation - replace NA wage with a new assesment
data$wage_org <- data$wage
data$wage[is.na(data$wage) & !is.na(data$profstat)] <- simwage[is.na(data$wage) & !is.na(data$profstat)]

head(data)

# A tibble: 6 x 10
  ethnicity age      ur edlevel mstatus profstat income  wage wage_p wage_org
      <dbl> <fct> <dbl>   <dbl>   <dbl> <fct>     <dbl> <dbl>  <dbl>    <dbl>
1         6 1         1       2       1 4            10 1794    767.     1794
2         1 1         1       2       3 4            NA  767.   767.       NA
3         2 2         1       3       3 2             9 1483    305.     1483
4         1 2         1       1       3 NA           NA   NA     NA        NA
5         7 3         1       2       2 1            10 1529    792.     1529
6         2 1         1       2       1 NA           NA   NA     NA        NA

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...