gpt4 book ai didi

根据 R 中的值从矩阵返回列名称

转载 作者:行者123 更新时间:2023-12-02 00:45:33 24 4
gpt4 key购买 nike

我有一个矩阵,我想根据值提取列名称。在本例中,我想要包含小于或等于 2 的值的任何列的名称(该值位于哪一行并不重要)。

set.seed(42)
DF <- matrix(sample(1:9,9),ncol=3,nrow=3)
DF <- as.data.frame.matrix(DF)

这是我尝试过的,(如果矩阵中只有 1 行,它似乎可以工作)

test<-colnames(DF)[which(DF<=2),]

test 将表示包含值 <= 2 的列名称

最佳答案

1

运行sapply在列上找到 min然后检查是否 min符合你的条件。

colnames(DF)[sapply(DF, min) <= 2]
#[1] "V3"

2

您还可以运行apply在列 ( MARGIN = 2 ) 上查看是否 any每列的值都满足要求的条件

colnames(DF)[apply(DF, MARGIN = 2, function(a) any(a<=2))]
#[1] "V3"

3

使用arr.ind = TRUEwhich 。这将给出满足 which 条件的值的索引。从中提取列信息 [,2] .

unique(colnames(DF)[which(DF<=2, arr.ind = TRUE)[,2]])
#[1] "V3"

数据

set.seed(42)
DF <- matrix(sample(1:9,9),ncol=3,nrow=3)
DF <- as.data.frame.matrix(DF)
DF
# V1 V2 V3
#1 9 5 6
#2 8 4 1
#3 3 7 2

关于根据 R 中的值从矩阵返回列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42727397/

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