创建虚拟变量

时间:2017-04-02 21:43:59

标签: r

我正在研究出生体重数据,每天吸烟,男性,白色。

我正在尝试为非吸烟者创建虚拟变量,我使用nonsmoker<-ifelse(data$cig==0,1,0),但对于轻度吸烟者,每天吸1-5支香烟,我不知道如何设置系列。 / p>

我想也许light smoker<-ifelse(data$cigs==1-5,1,0)会起作用,但不要猜测。

1 个答案:

答案 0 :(得分:1)

您需要使用布尔值来选择大于1且小于5的值。例如:

smoker<-ifelse((data$cigs>=1) & (data$cigs<=5),1,0)

您还可以使用cut方法创建一个因子,然后您可以重命名这个级别:

cig <- 0:10  # your original data
smoker <- cut(cig , c(-1, 0, 5, 10))
levels(smoker) <- c("0", "1-5", "6-10")  # rename the levels

然后会给你一个看起来像这样的因素:

> smoker
 [1] 0    1-5  1-5  1-5  1-5  1-5  6-10 6-10 6-10 6-10 6-10

您可以通过使用include.lowest方法的rightcut参数来设置切割边界(即包含端点/不包括端点的范围?) >