R中which.max中使用的子集行

R中which.max中使用的子集行,r,R,我试图得到一行中的最大值,对于一个特定的行子集 a <- data.frame(a = rnorm(5), b = rnorm(5), c = rnorm(5), x = rnorm(5), y = rnorm(5), z = rnorm(5)) a a b c x y z 1 -0.99415010 0.06177776 1.1224987 -0.60239594 -0

我试图得到一行中的最大值,对于一个特定的行子集

a <- data.frame(a = rnorm(5), b = rnorm(5), c = rnorm(5), x = rnorm(5), y = rnorm(5), z = rnorm(5))

a
        a           b          c           x           y           z
1 -0.99415010  0.06177776  1.1224987 -0.60239594 -0.53526479  1.26826763
2 -1.17727409 -0.60488488  1.6509299  0.65014481 -0.91940395  0.47520214
3 -0.04944379  1.47238123 -1.1691980  0.07603221 -0.05844166 -0.24809870
4 -0.05230395 -2.52972650 -0.1170329  0.57833492  0.61692175 -0.16939056
5 -0.61666540  0.02606907  0.2438158 -1.01048883 -1.23118019  0.09784697

> names(a)[apply(a, 1, which.max)]
[1] "z" "c" "b" "y" "c"
谢谢大家!

怎么样

 b <- a[,c("x","y","z")]
 names(b)[apply(b, 1, which.max)]
以下内容可能会有所帮助(我的“a”值与您的不同,因为您没有使用set.seed):

如果只想分析x、y、z列,请执行以下操作:

> a = a[,4:6]
> names(a)[apply(a, 1, which.max)]
[1] "x" "y" "x" "z" "y"
您也可以尝试:

   b1 <- a[,letters[24:26]]
    names(b1)[max.col(b1)]
   #[1] "x" "z" "y" "y" "y"

b1@123hwc上述代码不会产生错误,您能提供一行错误信息吗?
xx = apply(a, 1, which.max)
names(a)[xx[xx>3]]
[1] "y"
> a = a[,4:6]
> names(a)[apply(a, 1, which.max)]
[1] "x" "y" "x" "z" "y"
   b1 <- a[,letters[24:26]]
    names(b1)[max.col(b1)]
   #[1] "x" "z" "y" "y" "y"
   set.seed(42)
    a <- data.frame(a = rnorm(5), b = rnorm(5), c = rnorm(5), x = rnorm(5), y = rnorm(5), z = rnorm(5))