【发布时间】:2013-08-09 13:57:04
【问题描述】:
我正在为我正在处理的这个项目制作一个辅助函数,我需要从一组数据中得出百分位数。
在某些情况下,我将对条目向量进行百分率,这相当容易。在其他情况下,我将对矩阵中的条目进行百分比计算。
过程相似,但不同。我希望能够区分作为输入给出的内容(无论是向量还是矩阵),所以我知道什么操作是合适的。
我想对输入的维度做一些事情。但是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.vector和?is.matrix? -
这和
is.matrix(matrix(1,1,2)) = TRUE有同样的问题,但它的尺寸是c(1,2)所以它在技术上仍然是一个向量 -
那么也许:
is.vector(x) | min(dim(x)) > 1? -
是的,我认为
is.vector(x) | min(dim(x)) == 1应该可以工作。我想知道是否有更好的东西,但它可能不会变得更好哈哈。谢谢 -
或
ncol(x)>1 | nrow(x)>1也应该完成这项工作