我有一个数据框,例如:
x <- data.frame("Names"= c("name1","name2","name3"), "A" = c(0.1,0.1,0.8), "B" = c(0.3,0.4,0.3), "C" = c(0.05,0.9,0.05),"D" =c(0.6,0.1,0.3))
> x
Names A B C D
1 name1 0.1 0.3 0.05 0.6
2 name2 0.1 0.4 0.90 0.1
3 name3 0.8 0.3 0.05 0.3
我想删除A,B,C或D的最大值低于0.8的所有行。然后,获取:
> x
Names A B C D
2 name2 0.1 0.4 0.90 0.1
3 name3 0.8 0.3 0.05 0.3
名称1被删除,因为最大值为0.6。
然后,我想获取一个文件,例如,我获得NameX的列名称为最大值,在此示例中为:
Name1 : C with value 0.9
Name2 : A with value 0.8
感谢您的帮助。
您可以使用pmax
,即
x[do.call(pmax, x[-1]) >= 0.8,]
# Names A B C D
#2 name2 0.1 0.4 0.90 0.1
#3 name3 0.8 0.3 0.05 0.3
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句