数据集cwm看起来像这样
V1 V2 V3
1 2 ?
3 5 ?
4 4 ?
#NA 9 ?
#NA #NA ?
想要创建虚拟变量V3,如果V1 = V2则为1,否则为0,并且在涉及#NA的任何情况下都会产生#NA。
在对等效的列V3和V4做了类似的事情之后,为了产生虚拟变量V5,我需要创建一个连续变量V6,其中1表示V3或V5都不是1,2,表示V3或V5 = 1,3表示V3和V5均为1。
V3 V5 V6
1 0 ?
1 0 ?
0 0 ?
1 1 ?
如果操作正确,则V3 = {0,0,1,#NA,#NA}且V6 = {2,2,1,3}
最佳方法?
答案 0 :(得分:0)
df = read.table(text="V1 V2
1 2
3 5
4 4
NA 9
NA NA",
header = TRUE, na.strings="NA")
V3 = as.numeric(df$V1 == df$V2)
V3
[1] 0 0 1 NA NA
df2 = read.table(text="V3 V5
1 0
1 0
0 0
1 1",
header = TRUE)
V6 = df2$V3 + df2$V5 + 1
V6
[1] 2 2 1 3