我正在处理与每天,男性,白色烟熏类别的出生体重数据。创建一个虚拟变量
我想创建一个非吸烟者的虚拟变量,我使用的是nonsmoker<-ifelse(data$cig==0,1,0)
,但对于吸烟者来说,每天吸烟1-5支,我不知道如何设置系列。
我想也许light smoker<-ifelse(data$cigs==1-5,1,0)
会工作,但不要猜测。
我正在处理与每天,男性,白色烟熏类别的出生体重数据。创建一个虚拟变量
我想创建一个非吸烟者的虚拟变量,我使用的是nonsmoker<-ifelse(data$cig==0,1,0)
,但对于吸烟者来说,每天吸烟1-5支,我不知道如何设置系列。
我想也许light smoker<-ifelse(data$cigs==1-5,1,0)
会工作,但不要猜测。
你需要使用一个布尔值来选择值大于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
和right
参数cut
方法的参数
您可能正在寻找'cut'。读一下'?cut'并在R标签内搜索。如果您设置了适当的因子变量,R会自动创建假人。 'cut'可能是最好的方法,因为你也可以为关卡添加信息。作为附注,除非您对rstudio本身有疑问,否则请不要提及或标记rstudio。 R和rstudio是独立的软件应用程序。 – lmo