我是R编程的新手,我对R中的矩阵几乎没有疑问。
我有一个返回矩阵的函数。我想检查返回的矩阵是否为空。我如何在R中检查它?如果是整数,我们可以通过is.null(someinteger)
进行检查。但是在矩阵的情况下我们如何检查相同的东西呢?
此外,整数可以由x <- NULL
初始化。如果我只想初始化矩阵。我们是否初始化为mat <- matrix()
或者还有其他方式吗? mat
可以是任意大小。
三江源。
答案 0 :(得分:2)
有一些问题是&#34;空的&#34;这里但是这将测试矩阵m
的长度是否为零:
length(m) == 0
关于初始化矩阵,将其初始化为0x0矩阵:
m <- matrix(, 0, 0)
并将其初始化为包含NA的1x1矩阵:
m <- matrix()
并将其初始化为nr
个nc
NA值矩阵:
m <- matrix(, nr, nc)
尚不清楚这些中的任何一个是否真的有用。您可能想要描述您要完成的任务。为什么你需要初始化它?
答案 1 :(得分:1)
尝试:
all(is.na(m))
或者:
is.logical(m)
可以作为单一功能测试。如果一个numeric
或character
是列表的元素,则会返回FALSE
。第二种解决方案应该有效;您的函数似乎正在创建包含数字和/或NA的矩阵。