比较两个向量

时间:2016-04-21 07:15:35

标签: r

我需要与数据框的列进行比较,以便找到Button中的值小于Window中的值大于或等于8的行。

例如,

column 2

输出,我想要的是column 1 0和1:

DF
V1   V2
10   2
20   29
30   21
40   60

感谢您提出任何建议。

2 个答案:

答案 0 :(得分:4)

我们可以为每一行生成一个布尔向量TRUE/FALSE,其值取决于列V1中的条目是否大于列V2中的对应条目的值是否为至少8.这个布尔向量可以被强制转换为带有1/0的数字(as.integer)或者在逻辑表达式前面放置一元+运算符。

DF$V3 <- as.numeric(DF$V1 >= (DF$V2 + 8))
#  V1 V2 V3
#1 10  2  1
#2 20 29  0
#3 30 21  1
#4 40 60  0

DF$V3 <- +(DF$V1 >= (DF$V2 + 8))

答案 1 :(得分:1)

 DF$V3 <- ifelse(DF$V2 <= DF$V1-8, 1, 0)
 DF
 #   V1 V2 V3
 # 1 10  2  1
 # 2 20 29  0
 # 3 30 21  1
 # 4 40 60  0