首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从R中的二进制矩阵中提取第一个和最后一个非零行和列

在R中,可以使用以下步骤从二进制矩阵中提取第一个和最后一个非零行和列:

  1. 提取第一个非零行:
    • 使用which函数和逻辑判断条件!= 0来找到矩阵中非零元素的索引。
    • 使用min函数找到最小的非零行索引。
    • 使用索引操作符[]提取第一个非零行。
  • 提取最后一个非零行:
    • 使用which函数和逻辑判断条件!= 0来找到矩阵中非零元素的索引。
    • 使用max函数找到最大的非零行索引。
    • 使用索引操作符[]提取最后一个非零行。
  • 提取第一个非零列:
    • 使用which函数和逻辑判断条件!= 0来找到矩阵中非零元素的索引。
    • 使用min函数找到最小的非零列索引。
    • 使用索引操作符[]提取第一个非零列。
  • 提取最后一个非零列:
    • 使用which函数和逻辑判断条件!= 0来找到矩阵中非零元素的索引。
    • 使用max函数找到最大的非零列索引。
    • 使用索引操作符[]提取最后一个非零列。

以下是一个示例代码:

代码语言:txt
复制
# 创建一个示例的二进制矩阵
binary_matrix <- matrix(c(0, 0, 1, 0, 1, 1, 0, 0, 0), nrow = 3, ncol = 3, byrow = TRUE)

# 提取第一个非零行
first_nonzero_row <- min(which(binary_matrix != 0))
first_nonzero_row_values <- binary_matrix[first_nonzero_row, ]

# 提取最后一个非零行
last_nonzero_row <- max(which(binary_matrix != 0))
last_nonzero_row_values <- binary_matrix[last_nonzero_row, ]

# 提取第一个非零列
first_nonzero_col <- min(which(binary_matrix != 0, arr.ind = TRUE)[, "col"])
first_nonzero_col_values <- binary_matrix[, first_nonzero_col]

# 提取最后一个非零列
last_nonzero_col <- max(which(binary_matrix != 0, arr.ind = TRUE)[, "col"])
last_nonzero_col_values <- binary_matrix[, last_nonzero_col]

# 打印结果
print("第一个非零行:")
print(first_nonzero_row_values)
print("最后一个非零行:")
print(last_nonzero_row_values)
print("第一个非零列:")
print(first_nonzero_col_values)
print("最后一个非零列:")
print(last_nonzero_col_values)

这个代码将输出第一个和最后一个非零行和列的值。请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行适当的修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券