Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R pmax功能输出的返回属性_R - Fatal编程技术网

R pmax功能输出的返回属性

R pmax功能输出的返回属性,r,R,我有以下数值向量x和y x <- c(a=1,b=2,c=3) y <- c(d=2,e=1,f=4) 输出值正确,但返回的名称错误。pmax的文档提到它返回第一个参数的属性,因此返回abc。有没有办法得到最大值的名称?所需输出如下: d b f 2 2 4 一个选项是使用max.col查找每行最大值的索引。为此,我们需要通过cbinding向量('xy')及其名称('nmxy')来创建一个矩阵/data.frame。创建行/列索引(“ij”)并将“xy”的元素子集,并从“nmx

我有以下数值向量
x
y

x <- c(a=1,b=2,c=3)
y <- c(d=2,e=1,f=4)
输出值正确,但返回的名称错误。
pmax
的文档提到它返回第一个参数的属性,因此返回
abc
。有没有办法得到最大值的名称?所需输出如下:

d b f
2 2 4

一个选项是使用
max.col
查找每行最大值的索引。为此,我们需要通过
cbind
ing向量('xy')及其
名称('nmxy')来创建一个矩阵/data.frame。创建行/列索引(“ij”)并将“xy”的元素子集,并从“nmxy”设置名称

xy <- cbind(x,y)
nmxy <- cbind(names(x), names(y))
ij <- cbind(1:nrow(xy), max.col(xy))
setNames(xy[ij], nmxy[ij])
#  d b f 
#  2 2 4 
xyLet

xy <- cbind(x,y)
nmxy <- cbind(names(x), names(y))
ij <- cbind(1:nrow(xy), max.col(xy))
setNames(xy[ij], nmxy[ij])
#  d b f 
#  2 2 4 
r <- pmax(x,y)
names(r)[y == r] <- names(y)[y == r]
old.pmax = pmax
pmax <- function(x,y){

  r <- old.pmax(x,y)
  names(r)[y == r] <- names(y)[y == r]
  return(r)
}