Могу ли я использовать with () для создания подмножества данных из большего фрейма данных? - PullRequest
1 голос
/ 02 августа 2020

У меня есть фрейм данных со следующими 5 переменными: «Объем легких», «Возраст», «Рост», «Дым» и «Пол». Моя цель - создать новое подмножество этих данных (то есть, по сути, новый фрейм данных), который состоит из наблюдений, касающихся мужчин старше пятнадцати лет. Это можно сделать с помощью следующей команды

MaleOver15 <- LungCapData[LungCapData$Gender == "male" & LungCapData$Age > 15, ]

Более простой способ - это прикрепить (LungCapData) и просто выполнить

MaleOver15 <- LungCapData[Gender == "male" & Age > 15, ]

Однако у меня прочитал из нескольких источников, что команда "attach ()" не рекомендуется. В частности, многие люди утверждают, что использование команды with () - лучшая альтернатива. Я никогда раньше не видел эту команду, но вижу, как она работает.

Однако я не могу понять, как я могу использовать ее, чтобы сделать то, что я сделал выше. На самом деле есть способ сделать это? Я попробовал

MaleOver15 <- with(LungCapData, Gender == "male" & Age > 15)

, но он не работает должным образом. Насколько я могу судить, он возвращает вектор с логическими значениями False или True. Я не очень опытен в R, поэтому я не уверен, почему это происходит, и могу ли я использовать команду with (), как я описал выше.

Любое понимание будет признательно, спасибо.

Ответы [ 2 ]

3 голосов
/ 02 августа 2020

Просто используйте with внутри подмножества

LungCapData[with(LungCapData, Gender == "male" & Age > 15), ]

Или используйте subset

subset(LungCapData, Gender == "male" & Age > 15)
1 голос
/ 02 августа 2020

Или вы можете попробовать data.table.

setDT(LungCapData)

Тогда вы можете использовать:

MaleOver15 <- LungCapData[Gender == "male" & Age > 15]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...