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

У меня есть вектор показателей корреляции myCorVector, который содержит диапазон значений от 1 до -1.

Вектор myCorVector имеет оценку для каждой строки фрейма данных myDataFrame.

Я могу упорядочить строки фрейма данных, указав myDataFrame[order(myCorVector),].

То, что я хотел бы сделать, это упорядочить фрейм данных, но получить подмножество строк из myDataFrame, где значения myCorVector меньше 0.

Если я применяю subset() к myCorVector, то индексы, возвращаемые order(), больше не ассоциируются с действительными индексами строк в myDataFrame.

Существует ли быстрый и / или элегантный способ сделать это, не требующий for зацикливания над myCorVector?

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Добавьте оценки в data.frame, создайте отсортированную копию и подмножество, которое:

myDataFrame$myCorVector <- myCorVector
odf <- myDataFrame[order(myDataFrame$myCorVector), ]
odf[odf$myCorVector < 0, ]
0 голосов
/ 23 февраля 2011

Простой индекс должен выполнять эту работу:

myDataFrame[order(myCorVector),][sort(myCorVector)<0,]

Сложная часть - это изменение порядка, наложенное order;без сортировки это было бы просто:

myDataFrame[myCorVector<0,]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...