如何在 R 中使用 SUBSET FUNCTION 创建变量
How to create a variable with SUBSET FUNCTION in R
我正在尝试根据其他变量的条件在数据框中创建一个新变量:
SUBSET01$poverty_t <- 0
#Never poor
SUBSET01$poverty_t[SUBSET01$yr_interview=="2018" & SUBSET01$yr_interview=="2019" & SUBSET01$Poverty=="0"] <- 0
#Poor in both periods
SUBSET01$poverty_t[SUBSET01$yr_interview=="2018" & SUBSET01$yr_interview=="2019" & SUBSET01$Poverty=="1"] <- 2
#Poor in period 1
SUBSET01$poverty_t[SUBSET01$yr_interview=="2018"& SUBSET01$Poverty=="1"] <- -1
#Poor in period 2
SUBSET01$poverty_t[SUBSET01$yr_interview=="2019" & SUBSET01$Poverty=="1"] <- 1
SUBSET01$poverty_t<-factor(SUBSET01$poverty_t)
summary(SUBSET01$poverty_t)
-1 0 1
7254 1014 6047
前两个不工作(poverty_t=0,贫困=2)。是不是子集函数对3个条件都不起作用?
我假设您有一个 data.frame 和一个名为 yr_interview
的变量,并且该列的每一行都有一个值,例如
id Poverty yr_interview
1 1 2018
1 0 2019
2 0 2018
... ...
k 0 2019
您编写的代码不起作用,因为 yr_interview
永远不可能同时是 2019 年和 2018 年。一个解决方案是重塑您的数据,以便有一个 2018 年贫困状况变量和一个变量2019 年的贫困状况,例如
id pov_18 pov_19
1 1 0
2 0 0
3 1 1
... ... ...
k 1 0
我正在尝试根据其他变量的条件在数据框中创建一个新变量:
SUBSET01$poverty_t <- 0
#Never poor
SUBSET01$poverty_t[SUBSET01$yr_interview=="2018" & SUBSET01$yr_interview=="2019" & SUBSET01$Poverty=="0"] <- 0
#Poor in both periods
SUBSET01$poverty_t[SUBSET01$yr_interview=="2018" & SUBSET01$yr_interview=="2019" & SUBSET01$Poverty=="1"] <- 2
#Poor in period 1
SUBSET01$poverty_t[SUBSET01$yr_interview=="2018"& SUBSET01$Poverty=="1"] <- -1
#Poor in period 2
SUBSET01$poverty_t[SUBSET01$yr_interview=="2019" & SUBSET01$Poverty=="1"] <- 1
SUBSET01$poverty_t<-factor(SUBSET01$poverty_t)
summary(SUBSET01$poverty_t)
-1 0 1
7254 1014 6047
前两个不工作(poverty_t=0,贫困=2)。是不是子集函数对3个条件都不起作用?
我假设您有一个 data.frame 和一个名为 yr_interview
的变量,并且该列的每一行都有一个值,例如
id Poverty yr_interview
1 1 2018
1 0 2019
2 0 2018
... ...
k 0 2019
您编写的代码不起作用,因为 yr_interview
永远不可能同时是 2019 年和 2018 年。一个解决方案是重塑您的数据,以便有一个 2018 年贫困状况变量和一个变量2019 年的贫困状况,例如
id pov_18 pov_19
1 1 0
2 0 0
3 1 1
... ... ...
k 1 0