【问题标题】:Selecting a single row of a named matrix and keeping the row name选择命名矩阵的单行并保留行名
【发布时间】:2016-11-30 19:11:49
【问题描述】:

假设我有一个带有行名的矩阵:

M <- matrix(1:15,3,5)
rownames(M) <- c("a","b","c")
colnames(M) <- c(3,2,4,6,7)

在选择单行M[1,]时,我丢失了行名称信息,而选择单列M[,1]保留列名。选择多行也会保留行名称M[2:3,]。我想问题是M[1,] 表现为向量。我可以做些什么来获得一个 1x5 矩阵而不是完整的行名信息吗?

【问题讨论】:

  • 如何在 R 的帮助中搜索类似的内容。 [] 有功能名称吗?顺便说一句,有人定义的一切都是微不足道的(包括所有编程语言)。
  • @ZheyuanLi,我不介意投反对票。这对某些人会有帮助。
  • 好吧,看来是subset函数了。
  • @ZheyuanLi,你为什么不做呢?我会接受的。
  • @ZheyuanLi,勇敢点 :) 如果他们这么烦,他们应该拒绝我的问题,而不是你的答案。

标签: r matrix


【解决方案1】:

感谢ZheyuanLi,我们可以搜索?Extract,它提供了[] 的选项(注意这与?subset 不同)。我们意识到有一个drop 参数可以保持行矩阵:M[1, , drop = FALSE]

这是来自 R-FAQ 的 relevant part,再次由 ZheyuanLi 提供。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-25
    • 2019-05-31
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2021-08-06
    相关资源
    最近更新 更多