R - Как создать фрейм данных из фрейма данных с условиями? - PullRequest
2 голосов
/ 28 мая 2019

У меня есть фрейм данных, который имеет много столбцов, но я хочу создать еще один фрейм данных, который имеет только столбцы расы и супруга.У меня есть этот образец данных.

  gender name    race realm  spouse
1  Female Adanel  Men  Gondor  Not Married
2  Male   Lagduf  Orc  Mordor  Married
2  Male   Boromir Men  Gondor  Married

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

  race spouse
1 Orc  Married
2 Men  Married

Я хотел бы получить столбцы расы и супруга (где существо "Женат").Я пробовал что-то вроде этого:

marriedCreatures <- data %>% filter(spouse == "Married" & race) 

Поскольку я недавно начал работать с RI, я не знаю, как я должен создать этот новый фрейм данных из столбцов другого фрейма данных.

Буду признателен, если кто-нибудь поможет мне с этим.

Спасибо!

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Опция с base R

subset(df, spouse == "Married", select = c("race", "spouse"))
1 голос
/ 28 мая 2019
df <- data.frame(
  gender = c("Female", "Male", "Male"),
  name = c("Adanel", "Lagduf", "Boromir"),
  race = c("Men", "Orc", "Men"),
  spouse = c("Not married", "Married", "Married")
)

library(dplyr)

# base R
marriedCreatures <- df[df$spouse == "Married", c("race", "spouse")]
marriedCreatures

# dplyr
marriedCreatures <- df %>%
  dplyr::filter(spouse == "Married") %>%
  dplyr::select(race, spouse)
marriedCreatures

Если предпочитаете версию dplyr, но однострочник тоже подойдет: -)

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