好吧,我可能正在寻求一种实现这一目标的迂回方式,但我有一个名为“goodAttributes
”的列表和一个名为QTable
的数据框。如果列名QTable
在“goodAttributes
”中,而不是我想返回该列的最大值,否则我想返回列的最小值...
我使用“QTable
”检查了goodAttributes
列名称是否在列表“grepl
”中,如果值为QTable
,则重置goodAttributes
的列名称在列表“False
”中显示为“True”,否则将列名设置为“QTable2
”,并调用新表QTableB
。
当前DataFrame名为“QTableB”:
现在,如果True
的列名是“QTableB
”,我想找到该列的最大值,并且False
的列名是“{{1} “我想返回该列的最小值...将结果存储在新的数据框中。
答案 0 :(得分:0)
这样做的一种方法是简单地将一个函数应用于框架的所有colnames
:
QTable <- data.frame(v1=1:10,v2=11:20,v3=31:40)
goodAttributes <- c("v1","v3")
sapply(colnames(QTable),function(c){
if(c %in% goodAttributes) max(QTable[,c])
else min(QTable[,c])})
产生
v1 v2 v3
10 11 40
即。 v1和v3的最大值(goodAttributes
中的列名称)和v2的最小值。