将两个二进制变量合并为一个具有四个可能值的变量

3

我对R语言还不是很熟悉,所以这个问题可能比较傻:

我有两个变量 (gender [0,1] 和 vote [0,1])。

我想将这两个变量合并为一个变量,包含四种不同的值:

1) Gender=0,Vote=0

2) Gender=1,Vote=0

3) Gender=0,Vote=1

4) Gender=1,Vote=1

我猜需要使用if命令,但似乎一直无法得到正确结果。

希望能有人帮助我 :)


也许你需要使用 expand.grid,例如 expand.grid(gender=0:1, vote=0:1) - akrun
但是如何使用它来根据每个观察的性别和选票值生成一个包含值(1、2、3、4)的新变量并添加到我的数据框中?目前,它只会打印出一个简短的表格。 - champlos
尝试使用Gender+2*Vote - nicola
1
这被称为两个因素的交互作用。您需要将变量转换为因子,然后调用 interaction() - Ernest A
1个回答

1

以下是一种方法。akrun在评论中已经发布了解决方案的一半。可能会有更好的方法:

grid = expand.grid(gender=0:1, vote=0:1)
new_var = apply(grid,1,function(x) paste(x,collapse=""))
new_var = as.factor(new_var) # classic categorical format in R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接