我有两个表,每个表有三列。表A中有绝对数字,表B中有百分比值。
我想创建第三个表,如果表B中此单元格的值> 0,则表1中的值存在。我可以用merge(x,y,...)以某种方式做到这一点吗?
#Table 1 (absolute numbers)
389
500
46
340
67
#Table 2 (percentage)
45
67
0
23
0
#Table 3
389
500
0
340
0
答案 0 :(得分:-1)
我们使用第二个数据集中的列创建逻辑索引,并使用它将第一个数据集列中的元素替换为0。
df3 <- df1
df3[,1][df2[,1]==0] <- 0
df3
# v1
#1 389
#2 500
#3 0
#4 340
#5 0
df1 <- structure(list(v1 = c(389L, 500L, 46L, 340L, 67L)),
.Names = "v1", class = "data.frame", row.names = c(NA,
-5L))
df2 <- structure(list(v1 = c(45L, 67L, 0L, 23L, 0L)), .Names = "v1",
class = "data.frame", row.names = c(NA, -5L))