R:如果表2中的值> 0,如何将表1中的值粘贴到表3中

时间:2016-11-04 18:29:46

标签: r

我有两个表,每个表有三列。表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

1 个答案:

答案 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))