假设我有一个列名列表作为向量:
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]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句