R:查找数据框中列列表的最大值/最小值

标签 r

假设我有一个列名列表作为向量:

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/

相关文章:

R - arules apriori Error in length(obj) : Method length not implemented for class rules

r - 引导生物等效性结果 R

R-函数中的多个返回以创建绘图

r - 游泳者生存图

r - 使用过滤器查找每组的唯一值

r - Knit 无法编译 PDF : "Error in tools::file_path_as_absolute(output_file)"

r - R 中 PerformanceAnalytics 的并排图

r - 插入符号中训练数据的ROC曲线

R tidyverse 表演示

r - 如何更改 R 中的分辨率(或重新网格)数据