首页 > 解决方案 > 找出使用 r 给出的相关答案的 id

问题描述

我有一个包含几千个条目的数据集。每个受访者都标有一个 ID,我想知道回答“调查完成;未发现嫌疑人”的前十名受访者,因此我创建了一个向量并确定了“调查完成;未发现嫌疑人”的前 10 个条目。

这是我用来创建向量的代码,它工作得很好。

x<-0 
i <- 1
while (x <= 9) { 
  if  (crimes$outcome_status_category[i] %in% "Investigation complete; no suspect identified") {
    x <- x+1 
    no_sus[x] <- crimes$outcome_status_category[i]
  }
  i <- i +1
}

问题:我试图找出与“调查完成;未发现嫌疑人”的前 10 个条目相关的受访者 ID。我必须使用 if 语句和 while 循环,但我不知道如何做到这一点。这是我试过的代码

for( "Investigation complete; no suspect identified" in no_sus){
  print (crimes$id)
}

https://imgur.com/Ulc01d7这是我的参考数据集

标签: r

解决方案


为什么不只是进行常规子集化,然后您会得到一个包含所有符合您条件的行的数据框,outcome_status_category然后您就可以提取 ids 的向量。

df <- crimes[crimes$outcome_status_category == "Investigation complete; no suspect identified", ]  # extract dataframe with rows that match the criteria 
df$id               # extract ids 
df$id[1:10]         # extract first 10 ids

推荐阅读