R:根据数据帧B的值在数据帧A上应用函数

时间:2017-07-14 16:15:28

标签: r dataframe

我有两个数据框A和B.

A = data.frame(x = c(3,-4,2), y=c(-4,7,1), z=c(-5,-1,6))
B = data.frame(x = c(0.5,0.9,0.3), y=c(0.7,0.2,0.1), z=c(0.9,0.8,0.6))

如果A中的值为负,则应从1中减去B中的相应值(与A中相同的位置)。如果A中的值为正,则B中的相应值不应更改。

最后B应该是这样的

    x   y   z
1 0.5 0.3 0.1
2 0.1 0.2 0.2
3 0.3 0.1 0.6

任何人都知道如何解决这个问题?

提前致谢,

基督教

1 个答案:

答案 0 :(得分:2)

这似乎有效:B[A<0] <- 1 - B[A<0]

    x   y   z
1 0.5 0.3 0.1
2 0.1 0.2 0.2
3 0.3 0.1 0.6