在R中,你可以使用match()
函数来找到矩阵中值的第一次出现的行号,使用tail(match(), 1)
结合duplicated()
函数来找到值的最后一次出现的行号。
以下是一个示例代码:
# 创建一个矩阵
mat <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), nrow = 2)
# 查找值5的第一次出现的行号
first_occurrence_row <- match(5, mat)
cat("值5第一次出现的行号是:", first_occurrence_row, "\n")
# 查找值5的最后一次出现的行号
last_occurrence_row <- tail(match(5, mat[!duplicated(mat)]), 1)
cat("值5最后一次出现的行号是:", last_occurrence_row, "\n")
在这个例子中,match(5, mat)
会返回值5在矩阵mat
中第一次出现的行号。由于矩阵中的每个元素都是唯一的,所以这个例子中第一次和最后一次出现的行号是相同的。如果矩阵中有重复的值,你需要先使用duplicated()
函数去除重复的值,然后使用tail(match(), 1)
来找到最后一次出现的行号。
请注意,这个方法假设矩阵的每一行都是唯一的,如果有重复的行,可能需要进一步的逻辑来确定最后一次出现的确切行号。
参考链接:
match()
: https://stat.ethz.ch/R-manual/R-devel/library/base/html/match.htmlduplicated()
: https://stat.ethz.ch/R-manual/R-devel/library/base/html/duplicated.htmltail()
: https://stat.ethz.ch/R-manual/R-devel/library/base/html/tail.html领取专属 10元无门槛券
手把手带您无忧上云