我有两个不同的类别变量:A=factor(c(1,2,1,2,1))
和B=factor(c("g","g","h","g","h"))
。我想基于这两个类别创建一个新的类别变量。例如,我要呼叫(1,g)=K, (2,g)=J, (1,h)=L
。因此,新变量将为factor(c("K","J","L","J","L"))
。
答案 0 :(得分:0)
您可以使用命名向量来实现此目的:
A <- factor(c(1, 2, 1, 2, 1))
B <- factor(c("g", "g", "h", "g", "h"))
conv <- c("1 g" = "K",
"2 g" = "J",
"1 h" = "L")
C <- conv[paste(A, B)]
答案 1 :(得分:0)
df$Cross_Tab <- dplyr::case_when(
df$A %in% c ("1") &
df$B %in% c ("g") ~ K,
df$A %in% c ("2") &
df$B %in% c ("g") ~ J,
df$A %in% c ("1") &
df$B %in% c ("h") ~ L,
)