Cars A B
Honda 5 3
Kia 7 5
BMW 4 8
Mazda 6 10
Hyundai 15 12
Lexus 22 19
Toyota 40 50
Jeep 60 50
上图是我的数据框。为此,我想将A列与B列进行比较,并提取A中大于或等于B(A> = B)的值。
我试图通过使用功能
解决此问题 pmax(Cars$A,Cars$B)
但这给了我这个结果- 5,7,8,10,15,22,50,60
我想要的结果- 5,7,15,22,60
答案 0 :(得分:5)
pmax
是?pmax
中的平行最大值
返回输入的(常规或 p arallel)最大值和最小值 价值观。 “ pmax *()”和“ pmin *()”采用一个或多个向量作为参数, 将它们回收到相同的长度,并返回一个向量 参数向量的“平行” 最大值(或最小值)。
也就是说,在每个位置它都会返回较大的值-这就是您在输出中看到的。
您想要的是Cars$A[Cars$A >= Cars$B]
答案 1 :(得分:1)
我正在使用SELECT *
FROM orders o
CROSS APPLY(VALUES(CONVERT(int,REPLACE(LEFT(CONVERT(varchar(8),CONVERT(time,GETDATE()),109),5),':',''))))V(GD)
WHERE o.shipdate >= CONVERT(date, GETDATE())
AND o.pickup > V.GD;
mtcars
输出:
data("mtcars")
newdf <- data.frame(cars = rownames(mtcars)[1:10])
newdf$A <- sample(1:10,replace = T)
newdf$B <- sample(1:10,replace = T)
newdf$out <- ifelse(newdf$A >= newdf$B, newdf$A, newdf$B)