相关疑难解决方法(0)

是否有类似pmax指数的东西?

我有一个包含以下数据的数据框:

date=strptime(c(20110101,20110102,20110103,20110104,20110105,20110106),'%Y%m%d')
rate1=c(1,2,3,4,5,6)
rate2=c(2,1,3,6,8,4)
rate3=c(4,1,3,6,8,3)
rate4=c(7,8,9,2,1,8)
z=data.frame(date,rate1,rate2,rate3,rate4)
z$max=pmax(rate1,rate2,rate3,rate4)
Run Code Online (Sandbox Code Playgroud)

pmax函数允许我获取该记录的最大值,但我想知道如何获得该记录的最大值索引.

如果z $ max相等7,8,9,6,8,8,我想得到5,5,5,3,3,5

这可能吗?我知道这似乎很简单,但我无法在任何地方找到答案.

r dataframe

5
推荐指数
2
解决办法
1215
查看次数

如何返回包含最大标签的向量

我有一个4列数组,我想获得一个向量,包含每行包含该行的最大值的列的标签.

我可以在循环中执行此操作,但我想使用矩阵函数来提高速度.

如何在不编写自己的lib函数的情况下完成此操作?

r function

3
推荐指数
1
解决办法
160
查看次数

如何在矩阵中查找最大值?

我有一个看起来像这样的表:

       1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
  586  0 0 0 1 0 0 0 1 3  1  0  1  0  0  0  0  0  1  0  2  0  3  0  0  0  4  0  1  2  0
  637  0 0 0 0 0 0 2 3 2  2  0  4  0  0  0  0  1 …
Run Code Online (Sandbox Code Playgroud)

r matrix

1
推荐指数
2
解决办法
152
查看次数

R:对于每一行,找到具有最高值的列的列索引

我正在尝试获取所选列中具有最高值的列的索引。当尝试使用 时dplyr,我的尝试没有给我正确的结果。

library(dplyr);library(magrittr)
DF1 <- data.frame(Factor1 = c(1,2,4),Factor2 = c(3,1,1),Factor3 = c(9,1,0)) %>% 
    mutate(max_ind = which.max(c(.$Factor1,.$Factor2,.$Factor3))) %>% print
          Factor1 Factor2 Factor3 max_ind
        1       1       3       9       7
        2       2       1       1       7
        3       4       1       0       7
Run Code Online (Sandbox Code Playgroud)

错误在哪里?为什么dplyr会有这样的行为。我可能应该使用rowwise,但这似乎不是最好的方法。有想过如何做到这一点base吗?tidyversedata.table

Edit-1(其他一些尝试)

通过 sapply 我得到了这个:

DF1 <- data.frame(Factor1 = c(1,2,4),Factor2 = c(3,1,1),Factor3 = c(9,1,0)) %>%
+   mutate(max_ind = which.max(c(Factor1,Factor2,Factor3)),
+          max_ind2 = sapply(X = ., function(x) which.max(c(x[Factor1],x[Factor2],x[Factor3])))) %>% print
  Factor1 Factor2 …
Run Code Online (Sandbox Code Playgroud)

r dplyr data.table

1
推荐指数
1
解决办法
1927
查看次数

标签 统计

r ×4

data.table ×1

dataframe ×1

dplyr ×1

function ×1

matrix ×1