Home > Mobile >  In which column there is a value of a specific variable
In which column there is a value of a specific variable

Time:06-26

I have this dataframe:

a <- c(2,5,90,77,56,65,85,75,12,24,52,32)
b <- c(45,78,98,55,63,12,23,38,75,68,99,73)
c <- c(77,85,3,22,4,69,86,39,78,36,96,11)
d <- c(52,68,4,25,79,120,97,20,7,19,37,67)
e <- c(14,73,91,87,94,38,1,685,47,102,666,74)

df <- data.frame(a,b,c,d,e)

and this variable:

bb <- 120

I need to know the column number of df in which there is the value of the variable "bb". How can I do? Thx everyone!

CodePudding user response:

We could use which with arr.ind = TRUE to extract the row/col index after creating a logical matrix. Then, extract the second column to get the column index

which(df == bb, arr.ind = TRUE)[,2]
col 
  4 

If there are duplicate elements in the column for the value compared, wrap with unique to return the unique column index

unique(which(df == bb, arr.ind = TRUE)[,2])
[1] 4

CodePudding user response:

I think we could use grep

grep(bb, df)
[1] 4
  •  Tags:  
  • r col
  • Related