【问题标题】:Finding 'first occurrence' using Match Function in R在 R 中使用匹配函数查找“第一次出现”
【发布时间】:2017-12-12 23:20:49
【问题描述】:

我是“R”和“Stackoverflow”的新手,所以请原谅我提出了令人难以置信的基本问题。我试图在我的数据集中找到第一位女性的“索引”。

Code Snapshot

我的整个数据集称为“自行车”,所以首先我认为分配一个仅包含性别的新向量是个好主意...

bike$genders

然后我尝试使用该功能:

match(1, genders)
match(F, genders)

这两种方法都不起作用!我知道这是并且应该相对简单,但我才刚刚开始,所以非常感谢您的帮助。

【问题讨论】:

  • which.max(bike$genders == "F") 将给出gendersgenders 列中第一个"F" 的索引bike
  • 如果性别用"M""F"编码,那么你的问题是F表示FALSE,但"F"是字符串F。使用match("F", bike$genders)应该工作正常。
  • @RichScriven 但是 which.max 可能是个问题,如果它找不到它给出的值 1。其他选项,如 which()[1] 或 match 给出 NA。

标签: r match


【解决方案1】:

可能最直接的方法是使用 match("F", bike[,"genders"] 将返回第一个匹配项的索引。

【讨论】:

    【解决方案2】:

    如果你想知道行#,这应该会给你行,它们的数字打印到屏幕上,你会看到行的索引。

    bike[bike$gender=="F",]

    如果您只想将行号设置为向量
    rnam<-row.names(bike[bike$gender=="F",])

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多