Saya memiliki bingkai data dan ingin memfilternya dengan salah satu dari dua cara, berdasarkan kolom "ini" atau kolom "itu". Saya ingin dapat merujuk ke nama kolom sebagai variabel. Bagaimana (di dplyr
, jika itu membuat perbedaan) cara saya merujuk ke nama kolom dengan variabel?
library(dplyr)
df <- data.frame(this = c(1, 2, 2), that = c(1, 1, 2))
df
# this that
# 1 1 1
# 2 2 1
# 3 2 2
df %>% filter(this == 1)
# this that
# 1 1 1
Namun katakanlah saya ingin menggunakan variabel column
untuk menampung "ini" atau "itu", dan memfilter berapa pun nilai column
. Baik as.symbol
dan get
berfungsi dalam konteks lain, tetapi tidak yang ini:
column <- "this"
df %>% filter(as.symbol(column) == 1)
# [1] this that
# <0 rows> (or 0-length row.names)
df %>% filter(get(column) == 1)
# Error in get("this") : object 'this' not found
Bagaimana cara mengubah nilai column
menjadi nama kolom?