开发者

get Row Number for R data frame

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 frame that includes the row information extracted from the previous data frame, as well as the row position from the previous data frame.

p开发者_JAVA技巧atchLocalNo <- patchList[which(patchListTop5$sensitivity == patchLocalSpec),]

what I want to do is take the row numbers from patchList that satisfy the which condition, and add them to a column in patchLocalNo.

Thank you in advance, I have searched online and asked co-workers and all I can come up with is a work-around pre-processing the data in perl.


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)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜