广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言 实现选取某一行的最大值
  • 575
分享到

R语言 实现选取某一行的最大值

2024-04-02 19:04:59 575人浏览 安东尼
摘要

可以先自定义函数 也可以用的时候再定义。 > mat <- matrix(c(1:3,7:9,4:6), byrow = T, nc = 3) > mat

可以先自定义函数

也可以用的时候再定义。


> mat <- matrix(c(1:3,7:9,4:6), byrow = T, nc = 3)
> mat
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    7    8    9
[3,]    4    5    6 
 
> apply(mat, 2, function(x){order(x, decreasing=T)[1]})   # 查找每一列
[1] 2 2 2
 
> apply(mat, 1, function(x){order(x, decreasing=T)[1]})   # 查找每一行
[1] 3 3 3
> apply(mat, 1, function(x){which.max(x)})                # 查找每一行
[1] 3 3 3 
 
> n <- letters[1:5]
> n
[1] "a" "b" "c" "d" "e"
 
> t <- apply(mat, 1, function(x){which.max(x)})
> n[t]
[1] "c" "c" "c"

另一个例子:


MaxVar <- function(x, na.rm = FALSE) {
  ## compute `max`
  maxx <- max(x, na.rm = na.rm)
  ## which equal the max
  wmax <- which(x == max(x))
  ## how many equal the max
  nmax <- length(wmax)
  ## return
  out <- if(nmax > 1L) {
    c(999, NA)
  } else {
    c(maxx, wmax)
  }
  out
} 
 
And use it like this:
 
> new <- apply(Mydata[, -1], 1, MaxVar)
> new
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    3    4  999  999  999    4    4    2    4   999
[2,]    1    4   NA   NA   NA    4    2    3    4    NA
 
> Mydata <- cbind(Mydata, Max = new[1, ], Var = new[2, ])
> Mydata
   ID X1 X2 X3 X4 Max Var
1   1  3  1  1  1   3   1
2   2  1  2  1  4   4   4
3   3  1  1  1  1 999  NA
4   4  1  3  3  1 999  NA
5   5  2  2  2  1 999  NA
6   6  1  2  3  4   4   4
7   7  2  4  3  3   4   2
8   8  1  1  2  1   2   3
9   9  3  2  1  4   4   4
10 10  4  4  4  4 999  NA

补充:使用R语言得到向量中所有的最大值或者最小值的下标

比如向量a:


a=c(1,2,4,3,4)

代码如下:


which(a==max(a),arr.ind=TRUE)

输出为:

[1] 3 5

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: R语言 实现选取某一行的最大值

本文链接: https://www.lsjlt.com/news/124052.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言 实现选取某一行的最大值
    可以先自定义函数 也可以用的时候再定义。 > mat <- matrix(c(1:3,7:9,4:6), byrow = T, nc = 3) > mat ...
    99+
    2022-11-12
  • R语言如何实现选取某一行的最大值
    小编给大家分享一下R语言如何实现选取某一行的最大值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!可以先自定义函数也可以用的时候再定义。> mat&...
    99+
    2023-06-14
  • R语言-实现提取包含某字符串的行变量
    已解决 用grep函数 A=read.table("clipboard",sep="/t",header=T) A[grep(pattern="/resource/activit...
    99+
    2022-11-12
  • R语言怎么实现提取包含某字符串的行变量
    这篇文章主要介绍了R语言怎么实现提取包含某字符串的行变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的...
    99+
    2023-06-14
  • R语言实现对数据框按某一列分组求组内平均值
    可使用aggregate函数 如: aggregate(.~ID,data=这个数据框名字,mean) 如果是对数据框分组,组内有重复的项,对于重复项保留最后一行数据用: ...
    99+
    2022-11-11
  • R语言-实现list的嵌套与提取嵌套中的值
    R的数据结构有很多种,常用的包括向量vector,矩阵matrix,数组array,列表list和dataframe数据框。 前三个都有其特定的性质和结构 今天要介绍的是list,它...
    99+
    2022-11-12
  • R语言怎样实现对数据框按某一列分组求组内平均值
    小编给大家分享一下R语言怎样实现对数据框按某一列分组求组内平均值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!可使用aggregate函数如:aggregate(...
    99+
    2023-06-14
  • C语言实现删除某一个数组值的方法
    目录1、前言2、删除数组中的元素1、前言 在家里闲着还是闲着,这几天见证了Python各种数据结构的强大。Python中的数据类型如:列表、元组、字典等都具有其的特点。列表无需要设定...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作