Search code examples
rcriteria

Using list of row numbers as criteria to populate field


I have a list of row numbers that represent row containing outliers in a data set. I would like to add an "outlier" column to the original data set that flags the rows containing outliers, but I can't figure out how to use row numbers as criteria in r.

Example:

I have a dataframe like this:

id <-c("a","b","c","d")
values <-c(10,11,22,33)
df<-data.frame(names,values)

     id   values
1     a     10
2     b     11
3     c     22
4     d     33

And a list like this containing row number (more correctly "row names"):

outliers <-c(2,4)

I'd like to find a way to use the list of row numbers as criteria in something like:

df$outlier_test<-ifelse( if row number is on my list, "outlier","")

to produce something like this:

     id   values    outlier_test
1     a     10             
2     b     11      outlier
3     c     22             
4     d     33      outlier

Solution

  • Spent quite a while trying to puzzle this out and had inspiration as soon as I posted the question. For anyone else who comes here with this question:

    First:

    df$rownumber<- row.names(df)
    

    then:

    df$outlier_test<- ifelse(df$rownumber %in% outliers,"outlier","")