Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何优雅地将因子标签传输到另一个变量?_R - Fatal编程技术网

R 如何优雅地将因子标签传输到另一个变量?

R 如何优雅地将因子标签传输到另一个变量?,r,R,令人惊讶的是,我一直没能找到解决办法。假设我有两个变量: gender1 <- sample(0:1, 20, replace = TRUE) gender2 <- sample(0:1, 20, replace = TRUE) gender2[gender2==1] <- 2 gender1[gender1==1] <- 3 gender1 <- factor(gender1, levels = c(0, 1, 2, 3), labels = c("

令人惊讶的是,我一直没能找到解决办法。假设我有两个变量:

gender1 <- sample(0:1, 20, replace = TRUE)
gender2 <- sample(0:1, 20, replace = TRUE)
gender2[gender2==1] <- 2

gender1[gender1==1] <- 3

gender1 <- factor(gender1, levels = c(0, 1, 2, 3), labels = c("Male", "Female", "Intersex", "Other"))

gender1将
gender2
作为.factor
并分配
`levels将
gender2
作为.factor
并分配
`levelsTry
levels(factor1)=levels(factor2)
不起作用。它添加级别但不标记值stry
levels(factor1)=levels(factor2)
不起作用。它添加级别,但不标记值
gender2 <- `attr<-`(`levels<-`(as.factor(gender2), seq(levels(gender1)) - 1),
                    "levels", levels(gender1))

stopifnot(all.equal(levels(gender1), levels(gender2)))
set.seed(42)
gender1 <- sample(c(0, 2), 20, replace=TRUE)
gender2 <- sample(c(0, 3), 20, replace=TRUE)

gender1 <- factor(gender1, levels=0:3, labels=c("Male", "Female", "Intersex", "Other"))