R 从其他数据中获取具有最高级别的值
假设我有一些数据,包括一些名字和学校成绩的信息R 从其他数据中获取具有最高级别的值,r,R,假设我有一些数据,包括一些名字和学校成绩的信息 name = c('Ann','Dann','Pann', 'Sam', 'Lora', 'Peter') score = c(30,30,50,70,20,10) school = data.frame(name=name, score=score) 我可以使用'which.max'查找最高级别的数据 data = school[which.max(school$score),] data$name [1] Sam 现在我想找到在Aclass
name = c('Ann','Dann','Pann', 'Sam', 'Lora', 'Peter')
score = c(30,30,50,70,20,10)
school = data.frame(name=name, score=score)
我可以使用'which.max'查找最高级别的数据
data = school[which.max(school$score),]
data$name
[1] Sam
现在我想找到在Aclass集合中得分最高的名称
Aclass = c('Peter','Pann', 'Lora', 'Smith')
结果应该是
[1] 'Pann'
请注意,“史密斯”不是学校数据的一部分。
不管Aclass中包含了多少个新名字,我只想找到一个在学校数据中得分最高的名字。我应该编写什么代码来获取它?此方法使用
with
搜索data.frame学校的子集,以减少键入
with(school[school$name %in% Aclass,], name[which.max(score)])
[1] Pann
Levels: Ann Dann Lora Pann Peter Sam
另外
school$name[which.max(school$score*(school$name%in%Aclass))]
避免了子集设置。太棒了!谢谢您。