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

时间:2014-06-23 09:37:52

标签: r data-manipulation

例如,我可以这样做:

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)

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

2 个答案:

答案 0 :(得分:3)

只需使用paste0来组合矢量

factor(paste0(y, x))

或者

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

答案 1 :(得分:1)

similar thread所述: 如果您有两个因素<Button Style="{StaticResource StyleButton}" controls:AttachedPropertyForButton.PressedBackground="Orange" Content="Foo"/> x,则使用

y

将根据您的需要生成新因子。它的水平是两种因素水平的所有可能组合(对)。