R 如何将数据帧列的值转换为0和1?

R 如何将数据帧列的值转换为0和1?,r,dataframe,R,Dataframe,我正在研究一个负二项回归模型,该模型根据日本国会议员的投票比例、年龄、性别和议会办公室,预测他们发起的私人议员法案的数量。为了计算办公室变量的AME,我需要创建两个新的数据帧df.0和df.1。例如,以下是数据帧df.0: (Intercept) voteshare age sexmale term parliamentary_office 1 1 37.92 57 male 0 0 2 1

我正在研究一个负二项回归模型,该模型根据日本国会议员的投票比例、年龄、性别和议会办公室,预测他们发起的私人议员法案的数量。为了计算办公室变量的AME,我需要创建两个新的数据帧df.0和df.1。例如,以下是数据帧df.0:

  (Intercept) voteshare age sexmale term parliamentary_office
1           1     37.92  57    male    0                    0
2           1     45.99  65    male    5                    0
3           1     36.18  59  female    3                    0
4           1      43.3  47    male    1                    0
5           1     45.48  58    male    5                    0
6           1     31.89  44    male    0                    0

如何将sexmale列转换为数字

这是我的密码:

#rm(list=ls())
library(foreign)
dat <- read.dta(file = 'activity.dta', convert.factors = FALSE)
dat_clear <- na.omit(dat)
datc_2012 <- dat_clear[dat_clear$election == 2012, ]

library(MASS)
summary(m2.negbin <- glm.nb(num_pmbs_initiated ~
voteshare + age + sex + term
+ parliamentary_office, data = datc_2012,
link = "log"))

df.0 <- data.frame(cbind(1,
m2.negbin[["model"]]$voteshare,
m2.negbin[["model"]]$age,
m2.negbin[["model"]]$sex,
m2.negbin[["model"]]$term,
m2.negbin[["model"]]$parliamentary_office))

colnames(df.0) <- names(coef(m2.negbin))
df.1 <- df.0
df.0[,"parliamentary_office"] <- 0
df.1[,"parliamentary_office"] <- 1 
#rm(list=ls())
图书馆(外文)

dat如果只有男性和女性,并且需要将列更改为0-1个数字,则可以使用ifelse函数

df.0$sexmale <- sapply(df.0$sexmale, function (x) ifelse(x == "male", 0, 1))
df.0$sexmale
ifelse(df$sexmale=='male',1,0)