我在 R 中加载了两个数据帧。第一个数据帧包含一列名为 LC 的列,其中包含 56 个唯一观测值,第二个数据帧包含许多列,其中包括包含 500 个观测值的 LC 列。 为简单起见,我使用下面的一些示例数据重新创建了这两个数据框。
# DF 1
LC <- c("A", "B", "C")
lc.dc <- data.frame(LC)
LC
LC
1 A
2 B
3 C
# DF 2
DA <- c(44, 22, 56,20, 34, 45, 22, 55)
LC <- c("A","C","W", "Z", "B","H","B","A")
da.df <- data.frame(DA, LC)
da.df
DA LC
1 44 A
2 22 C
3 56 W
4 20 Z
5 34 B
6 45 H
7 22 B
8 55 A
我想使用 DF
LC
中存在的 da.df
列中发现的独特观察结果来过滤存在 LC
的列 lc.dc
。两个 DF 上第 LC
列下的观察结果是相同的。
我执行此操作所采取的步骤包括:
# Convert Unique LC to list
LC.char <- lc.dc$LC
StringLC <- list(LC.char)
# Apply filter using dplyr to fetch a new DF with only the unqique LCs
da.df.filtered <- da.df %>%
filter(LC. %in% c(StringLC))
最终结果是一个空的 DF。如何执行此过滤器,以便最终结果是
da.df.filtered
,并且 LC
数据框中仅存在 lc.dc
的唯一值?
这是您要找的吗?
> da.df %>%
filter(LC %in% lc.dc$LC)
DA LC
1 44 A
2 22 C
3 34 B
4 22 B
5 55 A