Finding the Column Index for a Specific Value

Posted by Btibert3 on Stack Overflow See other posts from Stack Overflow or by Btibert3
Published on 2011-02-25T23:00:53Z Indexed on 2011/02/25 23:25 UTC
Read the original article Hit count: 248

Filed under:
|

Hi All,

I am having a brain cramp. Below is a toy dataset:

df <- data.frame(
        id = 1:6, 
        v1 = c("a", "a", "c", NA, "g", "h"),
        v2 = c("z", "y", "a", NA, "a", "g"),
        stringsAsFactors=F)

I have a specific value that I want to find across a set of defined columns and I want to identify the position it is located in. The fields I am searching are characters and the trick is that the value I am looking for might not exist. In addition, null strings are also present in the dataset.

Assuming I knew how to do this, the variable position indicates the values I would like returned.

> df
  id   v1   v2 position
1  1    a    z        1
2  2    a    y        1
3  3    c    a        2
4  4 <NA> <NA>       99
5  5    g    a        2
6  6    h    g       99

The general rule is that I want to find the position of value "a", and if it is not located or if v1 is missing, then I want 99 returned.

In this instance, I am searching across v1 and v2, but in reality, I have 10 different variables. It is also worth noting that the value I am searching for can only exist once across the 10 variables.

What is the best way to generate this recode?

Many thanks in advance.

© Stack Overflow or respective owner

Related posts about r

    Related posts about string-manipulation