There isn't enough information to help you. Can you please provide more details about your data?
For example, it'll be much helpful to provide the cov dataset that you're using.
If the marstat column is a factor, and if it is unordered, then you can't really compare whether it's higher (or lower) than something or not. It really makes no sense, even if you denote the levels by numbers. Check below:
cov$nmar[cov$marstat==1]<-1
cov$nmar[cov$marstat>1]<-0
Warning message:
In Ops.factor(cov$marstat, 1) : ‘>’ not meaningful for factors
cov$mar[cov$marstat==2]<-1
Warning message:
In [<-.factor(*tmp*, cov$marstat == 2, value = c(2L, 2L, 2L, :
invalid factor level, NA generated
cov$mar[cov$marstat<=1]<-0
Warning messages:
1: In [<-.factor(*tmp*, cov$marstat <= 1, value = c(2L, 2L, 2L, :
invalid factor level, NA generated
2: In Ops.factor(cov$marstat, 1) : ‘<=’ not meaningful for factors
cov$nmar[cov$marstat==1]<-1
cov$nmar[cov$marstat>1]<-0
Warning message:
In Ops.factor(cov$marstat, 1) : ‘>’ not meaningful for factors
cov$mar[cov$marstat==2]<-1
Warning message:
In [<-.factor(*tmp*, cov$marstat == 2, value = c(2L, 2L, 2L, :
invalid factor level, NA generated
cov$mar[cov$marstat<=1]<-0
Warning messages:
1: In [<-.factor(*tmp*, cov$marstat <= 1, value = c(2L, 2L, 2L, :
invalid factor level, NA generated
2: In Ops.factor(cov$marstat, 1) : ‘<=’ not meaningful for factors
cov$mar[cov$marstat>=3]<-0
Warning messages:
1: In [<-.factor(*tmp*, cov$marstat >= 3, value = c(2L, 2L, 2L, :
invalid factor level, NA generated
2: In Ops.factor(cov$marstat, 3) : ‘>=’ not meaningful for factors
cov$sep[cov$marstat==3]<-1
cov$sep[cov$marstat<=2]<-0
Warning message:
In Ops.factor(cov$marstat, 2) : ‘<=’ not meaningful for factors
cov$sep[cov$marstat>=4]<-0
Warning message:
In Ops.factor(cov$marstat, 4) : ‘>=’ not meaningful for factors
cov$div[cov$marstat==4]<-1
cov$div[cov$marstat<=3]<-0
Warning message:
In Ops.factor(cov$marstat, 3) : ‘<=’ not meaningful for factors
cov$div[cov$marstat>=5]<-0
Warning message:
In Ops.factor(cov$marstat, 5) : ‘>=’ not meaningful for factors
cov$wid[cov$marstat==5]<-1
cov$wid[cov$marstat<=4]<-0
Warning message:
In Ops.factor(cov$marstat, 4) : ‘<=’ not meaningful for factors
cov$wid[cov$marstat>=6]<-0
Warning message:
In Ops.factor(cov$marstat, 6) : ‘>=’ not meaningful for factors
cov$cohab[cov$marstat==6]<-1
cov$cohab[cov$marstat<=5]<-0
Warning message:
In Ops.factor(cov$marstat, 5) : ‘<=’ not meaningful for factors