gpt4 book ai didi

r - R 中每多列的每个行名(1、2 或 A、B..)的最大值

转载 作者:行者123 更新时间:2023-12-03 03:14:45 26 4
gpt4 key购买 nike

我想要每个多列(样本)的每个行名(1、2 或 A、B..)的最大值。

我有一个矩阵。

id sample1 sample2 sample3 ...
1 16498 2416 12555.5
1 21282.5 3342 22202
2 18558 2308 na
2 17966 3047 na
2 398 176.5 na
3 347 227 201.5
3 604.5 284.5 300
3 517.5 283.5 330.5
3 3709 2338 5709
4 1 2 1
...

然后,

id sample1 sample2 sample3 ...
1 21282.5 3342 22202
2 18558 3047 na
3 3709 2338 5709
4 1 2 1
...

请给我一些关于这个问题的建议。提前致谢!!

最佳答案

另一个选项,使用data.table:

require(data.table)
data.table(df)[, lapply(.SD, max), by=id]

# id sample1 sample2 sample3
# 1: 1 21282.5 3342 22202
# 2: 2 18558.0 3047 NA
# 3: 3 3709.0 2338 5709

同时将 na 视为 NA

使用 @akrun 矩阵 m1:

data.table(m1)[, lapply(.SD, max), by=id]
# id sample1 sample2 sample3
#1: 1 21282.5 3342 22202
#2: 2 18558.0 3047 NA
#3: 3 3709.0 2338 5709
#4: 4 1.0 2 1

关于r - R 中每多列的每个行名(1、2 或 A、B..)的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998564/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com