A question about data frames in R. I want to extract a row from a data frame, along with its position(row number) in the original data frame. The idea is to create a new data f
I think you have answered your own question.
The results of which() is a vector with the row numbers that you want to extract.
df <- data.frame(x = runif(20))
w <- which(df$x > 0.9)
w
[1] 9 11 14 16 20
data.frame(which=w, df=df[w, ])
which df
1 9 0.9437138
2 11 0.9995509
3 14 0.9237888
4 16 0.9526003
5 20 0.9191727
You can do this in one or two lines of code:
rNo <- as.integer(rownames(patchList[which(patchListTop5$sensitivity == patchLocalSpec),]))
patchLocalNo <- cbind(patchLocalNo[rNames,], rNo)