由于 dplyr::filter() 而摆脱 ghost/artifact 变量
Getting rid of ghost/artifact variables as a result of dplyr::filter()
我有一个数据框:
x <- c(rep("A", 3), rep("B", 3), rep("C", 3))
y <- 1:9
z <- seq(from = 9, to = 81, by = 9)
df <- data.frame(x, y, z); rm(x, y, z)
我只想保留 "A" 和 "C":
library(dplyr)
df <- df %>%
filter(x %in% c("A", "C"))
但是当我stripchart()
结果出来的时候,"B"的鬼魂还在:
with(df, stripchart(z ~ x, method = "jitter", pch=1))
为了摆脱 "B" artifact/ghost 变量,我需要在我的 filter
表达式或链中使用什么参数。
@joran 的建议奏效了:
df <- df %>%
filter(x %in% c("A", "C")) %>%
droplevels()
谢谢!
我有一个数据框:
x <- c(rep("A", 3), rep("B", 3), rep("C", 3))
y <- 1:9
z <- seq(from = 9, to = 81, by = 9)
df <- data.frame(x, y, z); rm(x, y, z)
我只想保留 "A" 和 "C":
library(dplyr)
df <- df %>%
filter(x %in% c("A", "C"))
但是当我stripchart()
结果出来的时候,"B"的鬼魂还在:
with(df, stripchart(z ~ x, method = "jitter", pch=1))
为了摆脱 "B" artifact/ghost 变量,我需要在我的 filter
表达式或链中使用什么参数。
@joran 的建议奏效了:
df <- df %>%
filter(x %in% c("A", "C")) %>%
droplevels()
谢谢!