繁体   English   中英

如何获得两个因子的组合并转换为R中的新因子

[英]How to get combinations of two factors and convert into a new factor in R

例如,我可以做这样的事情:

x = c(1, 2, 3, 3, 2, 1)
y = c(rep("a", 3), rep("b", 3))
z= ifelse(x==1 & y=="a", "a1", ifelse(x==1 & y=="b", "b1", ifelse(x==2 & y=="a", "a2", ifelse(x==2 & y=="b", "b2", ifelse(x==3 & y=="a", "a3", "b3")))))
z = factor(z)

但这很乏味,有没有更好的方法?

只需使用paste0组合向量

factor(paste0(y, x))

要么

factor(paste(y, x, sep=""))

如在类似的线程中所述 :如果您有两个因子xy ,则使用

interaction(x, y)

将根据需要产生一个新因素。 它的水平是两个因素水平的所有可能组合(对)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM