假设我有一个向量,例如
x <- c(7,2,8,1,6,5)
Run Code Online (Sandbox Code Playgroud)
和一个布尔向量,如
b <- c(TRUE,FALSE,FALSE,FALSE,TRUE,FALSE)
Run Code Online (Sandbox Code Playgroud)
我想找到的最小元素的索引x用于该元素对应的b是TRUE。但是,如果我写
which.min(x[b])
Run Code Online (Sandbox Code Playgroud)
它返回 2,因为x[b]计算结果为c(7,6)。相反,我想在索引x之前获得 5,即向量中的相应索引b。我可以写
(1:6)[b][which.min(x[b])]
Run Code Online (Sandbox Code Playgroud)
但这不是很可读!有没有更易读的方式?