R语言如何修复:Subscript out of bounds
下标出界: 这是在R中可能遇到的最常见的错误之一,其形式如下。
原因: 当程序员试图访问一个不存在的行或列时,编译器会产生这个错误。
创建一个矩阵
让我们首先创建一个矩阵。例如,我们已经创建了一个有5行3列的矩阵 mat 。它的值是用sample.int()函数初始化的。这个函数是用来从数据集中提取随机元素的。
输出
输出
例1: 下标出界(以行为单位)。
下面的代码正试图访问不存在的第6行。
输出
输出
矩阵的第6行不存在,因此我们得到了下标越界的错误。请注意,我们可以随时使用nrow()函数来检查矩阵中有多少行。
例子
输出
输出
矩阵中只有5行。因此,我们可以访问小于或等于5的列。现在让我们尝试访问第3列。
输出
输出
例2: 下标出界(在列中)
下面的代码正试图访问不存在的第4列。
输出
输出
矩阵的第4列并不存在,因此我们得到了下标越界的错误。请注意,我们可以随时使用ncol()函数来检查矩阵中有多少列。
例子
输出
输出
矩阵中只有3列。因此,我们可以访问小于或等于3的列。 现在,让我们尝试访问第3列。
例子
输出
输出
例3: 下标出界(包括行和列)。
下面的代码正试图访问第6行和第4列。
输出
输出
矩阵的第6行和第4列不存在,因此我们得到下标越界的错误。请注意,我们可以随时使用dim()函数来检查矩阵中有多少行和多少列。
输出
输出
矩阵中只有5行和3列。因此,我们可以访问小于或等于5的行和小于或等于3的列。现在让我们尝试访问存储在第5行和第3列的值。
输出
输出