将非互斥变量重新编码为互斥变量
Recoding non-mutually exclusive variables into mutually exclusive variables
如有任何帮助,我们将不胜感激。
我有四个重叠的种族变量,我想将它们互斥,并将其余部分编码为一个新的变量混合种族变量。我一直在尝试使用 if 和 ifelse,但惨遭失败。
white<-c(1,1,1,NA)
black<-c(0,NA,1,0)
asian<-c(0,0,0,0)
aian<- c(0,0,0,0)
white.n<-c(1,1,0,NA)
mix<-c(0,0,1,0)
df<-cbind(white,black,asian,aian,white.n,mix)
df
white black asian aian white.n mix
[1,] 1 0 0 0 1 0
[2,] 1 NA 0 0 1 0
[3,] 1 1 0 0 0 1
[4,] NA 0 0 0 NA 0
如有任何想法,我们将不胜感激。
您想要一个新列,将所有内容编码到一个互斥变量中,对吗?像这样?
white<-c(1,1,1,NA,0)
black<-c(0,NA,1,0,0)
asian<-c(0,0,0,0,1)
white<-c(1,1,0,NA,0)
df<-data.frame(white,black,asian,white)
df
row.count <- rowSums(df, na.rm=T)
df$code[row.count > 1] <- "Mixed"
df$code[row.count == 1] <- names(which.max(df[row.count == 1, ]))
如有任何帮助,我们将不胜感激。
我有四个重叠的种族变量,我想将它们互斥,并将其余部分编码为一个新的变量混合种族变量。我一直在尝试使用 if 和 ifelse,但惨遭失败。
white<-c(1,1,1,NA)
black<-c(0,NA,1,0)
asian<-c(0,0,0,0)
aian<- c(0,0,0,0)
white.n<-c(1,1,0,NA)
mix<-c(0,0,1,0)
df<-cbind(white,black,asian,aian,white.n,mix)
df
white black asian aian white.n mix
[1,] 1 0 0 0 1 0
[2,] 1 NA 0 0 1 0
[3,] 1 1 0 0 0 1
[4,] NA 0 0 0 NA 0
如有任何想法,我们将不胜感激。
您想要一个新列,将所有内容编码到一个互斥变量中,对吗?像这样?
white<-c(1,1,1,NA,0)
black<-c(0,NA,1,0,0)
asian<-c(0,0,0,0,1)
white<-c(1,1,0,NA,0)
df<-data.frame(white,black,asian,white)
df
row.count <- rowSums(df, na.rm=T)
df$code[row.count > 1] <- "Mixed"
df$code[row.count == 1] <- names(which.max(df[row.count == 1, ]))