-1
df <- Make  model 
      audi   a6
      audi   a1
      merc   180
      bmw    320
      vw     golf

mylist <- (audi,bmw)

I am trying to create subset of df with only the values in mylist.

I tried this but can't get it working.

df1 = subset(df, model %in% mylist)

Please can anyone help?

ekoam
  • 8,744
  • 1
  • 9
  • 22

1 Answers1

1

Creating your data...

#Create Data
df <- data.frame("Make" = c("audi", "audi", "merc", "bmw","vw"), 
                 "model" = c("a6","a1","180","320","golf"))

df
#   Make model
# 1 audi    a6
# 2 audi    a1
# 3 merc   180
# 4  bmw   320
# 5   vw  golf

# Create a vector
mylist <- c("audi","bmw")

You can use the default subset function.

# Subset
subset(df,Make %in% mylist)
#   Make model
# 1 audi    a6
# 2 audi    a1
# 4  bmw   320

Or try the classic tidyverse method using function filter()

library(tidyverse)
df %>%
  filter(Make %in% mylist)

#   Make model
# 1 audi    a6
# 2 audi    a1
# 4  bmw   320
Andy
  • 191
  • 10