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
并分配`levelsTrylevels(factor1)=levels(factor2)
不起作用。它添加级别但不标记值strylevels(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"))