假设我有一个列名列表作为向量:
vec=c("C1" , "C2" ,"C3").
我知道这些列名来自数据框 df:
df:
C1 C2 C3 C4 C5
1 2 3 4 5
1 4 3 5 6
3 2 4 1 3
如何在 vec 中找到每列的最大值,查看它们在 df 中的值。例如,类似于:
boostedMax(vec, df, na.rm=T)
显然这是行不通的,但这个想法是 boostedMax 采用列名向量和列所在的数据框,并返回这些列的最大值。在这个例子中,它将返回向量:
(3,4,4)
提前致谢!
最佳答案
vec=c("C1" , "C2" ,"C3")
C1 C2 C3 C4 C5
1 2 3 4 5
1 4 3 5 6
3 2 4 1 3
df <- read.table(con<-file("clipboard"), header = T)
df
apply(df[,vec],2,max)
C1 C2 C3 3 4 4
或者
for(i in vec){
print(max(df[,i]))
}
[1] 3 [1] 4 [1] 4
或者
sapply(df[,vec],max)
C1 C2 C3 3 4 4
如果您认为某些级别
vec
可能不在 df
你可以做df[,colnames(df) %in% vec]
而不是 df[,vec]
关于R:查找数据框中列列表的最大值/最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38749359/