R 用于调用适用于矩阵或向量的行的常规代码

R 用于调用适用于矩阵或向量的行的常规代码,r,matrix,vector,bigdata,R,Matrix,Vector,Bigdata,当您不知道是引用矩阵还是向量时,是否有一种调用行的通用方法? 我想将结果子集为精度大于.5的结果,然后选择灵敏度最高的子集行。我在一个循环中多次重复这个过程。我遇到的问题是,在模型的某些运行中,许多行的结果的精度大于.5,而在某些运行中,只有一行的精度大于.5 为了最大限度地准确调用行,我已经编写了代码 # Subset matrix to just rows with accuracy greater than .5 acc_ID = which(new_data[,"accuracy"] &

当您不知道是引用矩阵还是向量时,是否有一种调用行的通用方法?

我想将结果子集为精度大于.5的结果,然后选择灵敏度最高的子集行。我在一个循环中多次重复这个过程。我遇到的问题是,在模型的某些运行中,许多行的结果的精度大于.5,而在某些运行中,只有一行的精度大于.5

为了最大限度地准确调用行,我已经编写了代码

# Subset matrix to just rows with accuracy greater than .5
acc_ID = which(new_data[,"accuracy"] >= 0.5)
new_data2 = new_data[acc_ID,] 

## Identify which row has the highest sensitivity   
max_sensitivity_ID = which(new_data2[,"sensitivity"] == max(new_data2[,"sensitivity"]))[1]
问题来自最后一行。如果只有一行精度>0.5。然后我需要删除逗号


注意:这是一个大数据情况,我不会上传一个可复制的数据示例。我想有人会知道一种在不复制问题的情况下调用行的通用方法。

使用
drop=FALSE
确保
new\u data2
始终是一个矩阵

new_data2 = new_data[acc_ID,,drop=FALSE]

你说的是一行,不是一列,对吧?谢谢@Frank,我纠正了错误!