如何比较和选择R中最少的两个特征?

时间:2017-04-27 16:35:47

标签: r

假设我有以下数据集:

dt<-data.frame(X=sample(5),Y=sample(5))

现在,我需要比较这两个功能并选择较小的功能。

  X Y
1 4 3
2 5 2
3 2 4
4 3 5
5 1 1

然后预期的答案是

3
2
2
3
1

我知道

min(dt[1,])

可能会有所帮助,但它只给我1个

2 个答案:

答案 0 :(得分:1)

使用pmin,它是min:

的矢量化版本
pmin(dt$X,dt$Y)

喜欢这样:

> dt<-data.frame(X=sample(5),Y=sample(5))
> dt
  X Y
1 3 2
2 4 3
3 1 5
4 2 4
5 5 1
> pmin(dt$X,dt$Y)
[1] 2 3 1 2 1

答案 1 :(得分:0)

import pandas as pd

data = {'Name': ['bob','sam','jim'], 'DateOpen': ['1/1/2010','1-1-2010','1/1/2010'], 'DateClose': ['1/1/2010','1-1-2010','1/1/2010'], 'no': [10,11,12]}
df = pd.DataFrame(data)

Date_cols = [col for col in df.columns if 'Date' in col]
print(list(df.columns))
print(Date_cols)

是另一种实现

当X或Y中的一个长度为(0)

时,会发生

high <- apply(dt[,c("X","Y")], 1, max) 或长度为0的元素

  

对于min或max,长度为一的向量。对于pmin或pmax,长度为输入向量的最长的向量,或者如果其中一个输入的长度为零,则长度为零。

(来自文档)

integer(0)有效但max(which(1:3 == 5),10)给出pmax(which(1:3 == 5),10)