получить номер строки для фрейма данных R - PullRequest
3 голосов
/ 05 апреля 2011

Вопрос о фреймах данных в R. Я хочу извлечь строку из фрейма данных вместе с ее положением (номером строки) в исходном фрейме данных.Идея состоит в том, чтобы создать новый фрейм данных, который включает в себя информацию строки, извлеченную из предыдущего фрейма данных, а также позицию строки из предыдущего фрейма данных.

patchLocalNo <- patchList[which(patchListTop5$sensitivity == patchLocalSpec),]

что я хочу сделать, это взять номера строк из patchList, которые удовлетворяют заданному условию, и добавить их в столбец в patchLocalNo.

Заранее спасибо, я искал в Интернете и спросил коллег, и все, что я могу придумать, - это обходной путь предварительной обработки данных в perl.

Ответы [ 2 ]

10 голосов
/ 05 апреля 2011

Я думаю, что вы ответили на свой вопрос.

Результатом которого () является вектор с номерами строк, которые вы хотите извлечь.

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
1 голос
/ 28 марта 2013

Вы можете сделать это в одной или двух строках кода:

rNo <- as.integer(rownames(patchList[which(patchListTop5$sensitivity == patchLocalSpec),]))
patchLocalNo <- cbind(patchLocalNo[rNames,], rNo)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...