gpt4 book ai didi

r - 过滤具有相同行名和列名的 data.frame

转载 作者:行者123 更新时间:2023-12-04 14:54:15 24 4
gpt4 key购买 nike

假设我有一个像这样的 data.frame:

##              GNP.deflator   GNP Unemployed Armed.Forces Population  Year Employed
## GNP.deflator 1.000 0.992 0.621 0.465 0.979 0.991 0.971
## GNP 0.992 1.000 0.604 0.446 0.991 0.995 0.984
## Unemployed 0.621 0.604 1.000 -0.177 0.687 0.668 0.502
## Armed.Forces 0.465 0.446 -0.177 1.000 0.364 0.417 0.457
## Population 0.979 0.991 0.687 0.364 1.000 0.994 0.960
## Year 0.991 0.995 0.668 0.417 0.994 1.000 0.971
## Employed 0.971 0.984 0.502 0.457 0.960 0.971 1.000

这是运行 cor(longley) 的结果,其中 longley 是一个内置的 R 数据集。我如何返回除 1 以外的最大值。所以这里 0.995 将是正确的结果。我试过做类似 max(cor(longley)[cor(longley)!=1, ]) 但无济于事。

最佳答案

您可以使用 upper.trilower.tri:

x <- cor(longley)
max(x[upper.tri(x)])
#[1] 0.9952735

或像您尝试的那样排除所有 1:

max(x[x!=1])
#[1] 0.9952735

或排除诊断:

max(x[upper.tri(x) | lower.tri(x)])

关于r - 过滤具有相同行名和列名的 data.frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68438478/

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