查找R中具有最高值的向量
我有一系列向量:查找R中具有最高值的向量,r,R,我有一系列向量: aaa<-11 bbb<-23 ccc<-24 ddd<-26 eee<-89 fff<-89 ggg<-100 假设您有一个变量名列表: n <- c("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg") 如果将变量按名称存储在列表l,则可以跳过定义n,只需执行vals,假设您有一个变量名称列表: n <- c("aaa", "bbb", "ccc", "ddd", "eee
aaa<-11
bbb<-23
ccc<-24
ddd<-26
eee<-89
fff<-89
ggg<-100
假设您有一个变量名列表:
n <- c("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg")
如果将变量按名称存储在列表
l
,则可以跳过定义n
,只需执行vals,假设您有一个变量名称列表:
n <- c("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg")
如果将变量按名称存储在列表l
,则可以跳过定义n
,只需执行vals,也可以执行此操作
a = mget(c("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"))
b = do.call(data.frame, a)
out = b[b %in% unique(t(b[order(b, decreasing =T)]))[1:2]]
#> out
# eee fff ggg
#1 89 89 100
或者你也可以这样做
a = mget(c("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"))
b = do.call(data.frame, a)
out = b[b %in% unique(t(b[order(b, decreasing =T)]))[1:2]]
#> out
# eee fff ggg
#1 89 89 100
是的,第一点是最重要的。不同的变量应该放在VAL
中,永远不要取出:rm(list=n)
谢谢大家!!弗兰克,你所说的“永不收回”是什么意思?他的意思是,如果你将所有这些变量一起分析(正如你的问题所表明的那样),它们应该一起存储,而不是分开存储。这使您可以轻松地进行排序和子集设置,并且仍然可以访问各个值(使用,例如,vals[“aaa”]
)。是的,第一点是最重要的。不同的变量应该放在VAL
中,永远不要取出:rm(list=n)
谢谢大家!!弗兰克,你所说的“永不收回”是什么意思?他的意思是,如果你将所有这些变量一起分析(正如你的问题所表明的那样),它们应该一起存储,而不是分开存储。这使您可以轻松地进行排序和子集设置,并且仍然可以访问各个值(例如使用vals[“aaa”]
)。
vals[vals >= second.largest]
# eee fff ggg
# 89 89 100
a = mget(c("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"))
b = do.call(data.frame, a)
out = b[b %in% unique(t(b[order(b, decreasing =T)]))[1:2]]
#> out
# eee fff ggg
#1 89 89 100