打印矩阵中值的行名

时间:2019-02-05 20:45:16

标签: r

在打印矩阵中特定值的行名时遇到问题。以下两个问题很困难。

  1. 她在第一周最快到达哪一天? (仅应打印星期几。(提示:使用行名。)

  2. 确定她在半小时内到达工作的第二周的日期。 (仅应打印星期几。)

这是称为通勤的数据集

          Week1 Week2
Monday       26    22
Tuesday      35    23
Wednesday    24    36
Thursday     31    32
Friday       34    25

1 个答案:

答案 0 :(得分:0)

1)您可以使用which()函数在第一列中找到最小值的索引。您为which()提供了一个逻辑对象(在这种情况下,是向量化相等测试)。假设您的矩阵绑定到m

ind = which(m[,'Week1'] == min(m[,'Week1']))

然后可以使用索引使用rownames()获取与该逻辑匹配的行名:

day = rownames(m)[ind]

2)本质上是同一件事,除了您将期望索引的向量而不是单个索引。再次使用which()查找与所需逻辑表达式匹配的索引:

inds = which(m$Week2 < 30)
days = rownames(m)[inds]