我正在为我的项目制作一个辅助函数,需要将一组数据转换为百分位数。
在某些情况下,我需要对一组条目进行百分位计算,这相当容易。在其他情况下,我需要对矩阵中的条目进行百分位计算。
这两个过程很相似,但又有所不同。我想能够区分输入是向量还是矩阵,以便知道应该使用哪个操作。
我考虑过使用输入的维度。但是,当*vector*使用
我觉得可以在条件中添加
在某些情况下,我需要对一组条目进行百分位计算,这相当容易。在其他情况下,我需要对矩阵中的条目进行百分位计算。
这两个过程很相似,但又有所不同。我想能够区分输入是向量还是矩阵,以便知道应该使用哪个操作。
我考虑过使用输入的维度。但是,当*vector*使用
dim(*vector*) = NULL
时,而使用dim(matrix(1:15, 1,15)) = c(1,15)
,尽管这有争议是否为向量。因此,我无法使用我的第一个想法。if(length(dim(objects)) == 2){*A MATRIX*}
else{*A VECTOR*}
我觉得可以在条件中添加
min(dim(objects)) > 1
来测试矩阵,但我认为可能有更好的选项。 (现在我在这里......)你有什么想法吗?
is.matrix(matrix(1,1,2)) = TRUE
相同,但它的维度是c(1,2)
,因此从技术上讲它仍然是一个向量。 - jameselmoreis.vector(x) | min(dim(x)) > 1
? - Arunis.vector(x) | min(dim(x)) == 1
应该可以。我在想是否有更好的方法,但可能不会有更好的了哈哈。谢谢。 - jameselmorencol(x)>1 | nrow(x)>1
也可以完成任务。 - holzben