我有一个包含数据超过200列的数据帧(df1)(每行数千行)。列名是字母数字,并且彼此不同。
我有第二个数据集(df2),其中有几列,其中第一列(名为' col1')包含带有"值"的行。携带df1的colnames。
但是对于df2中的每一行都没有。我在df1中有一个相应的列。
现在我想删除(删除)df2中没有"对应"的所有行。 df1中的列。
我使用关键字来搜索很长一段时间,例如"子集data.frame,来自另一个data.frame"但没有找到任何解决方案。我查了一下,例如here,here或here以及其他一些地方。
感谢您的帮助。
答案 0 :(得分:3)
数据:
df1 <- data.frame(a = 1:3, b = 1:3)
# a b
# 1 1 1
# 2 2 2
# 3 3 3
df2 <- data.frame(col1 = c("a", "c"))
# col1
# 1 a
# 2 c
保留df2
中的值,其值为df1
中的名称:
subset(df2, col1 %in% names(df1))
# col1
# 1 a