当前位置: 首页 > 知识库问答 >
问题:

在R中,如何通过另一个数据框的列名删除一个数据框中的行?

丁志勇
2023-03-14

我有一个数据帧(df1),其中包含200多列数据(每列数千行)。列名是字母数字的,并且彼此不同。

我有第二个数据集(df2),其中包含几列,其中第一列(名为“col1”)包含带有“值”的行,这些行带有df1的列名。

但不是对于df2中的每一行,我在df1中具有对应的列。

现在,我想删除(删除)df2中没有“对应”列的所有行。

我用“子集data.frame另一个data.frame的值”这样的关键词搜索了很长时间,但没有找到任何解决办法。我查了一下,例如这里、这里或这里和其他一些地方。

谢谢你的帮助。

共有1个答案

宋飞文
2023-03-14

数据:

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
 类似资料:
  • 问题内容: 我有2个数据框,一个命名为USERS,另一个命名为EXCLUDE。他们两个都有一个名为“电子邮件”的字段。 基本上,我要删除EXERSUDE中包含电子邮件的USERS中的每一行。 我该怎么做? 问题答案: 您可以将和条件一起使用,通过以下方式反转布尔值: 另一个解决方案:

  • 本文向大家介绍如何删除R数据框中的行?,包括了如何删除R数据框中的行?的使用技巧和注意事项,需要的朋友参考一下 这可以通过使用方括号来完成。 示例 假设我们要删除第4、7和9行。我们将执行以下操作-

  • 我有两个熊猫数据框 步骤1:根据df1中唯一的“val”在df2中创建列,如下所示: 步骤2:对于flag=1的行,AA_new将计算为var1(来自df2)*组“A”和val“AA”的df1的'cal1'值*组“A”和val“AA”的df1的'cal2'值,类似地,AB_new将计算为var1(来自df2)*组“A”和val“AB”的df1的'cal1'值*组“A”和val“AB”的df1的'c

  • 我有两个不同维度的数据框架,一个包含观察值,另一个包含与观察值相关的常数,用于算术运算。我想做的是从df2中选择适当的常数,用于df1中的行方向观测,以产生df3。 我附上了示例数据和一个简单的等式: 等式中LF1的值是根据项目从df2中获取的 df1的全尺寸是几十万行乘16列;df2约为150行乘20列。

  • 问题内容: 我有两个数据框,第一个有1000行,看起来像: 该列具有不同的值,有时会重复,但通常大约有50个唯一值。 第二个数据框包含所有这50个唯一值(50行)以及与这些值关联的酒店: 我的目标是用第二个数据帧的列的相应值替换第一个数据帧的列中的值,或者用相应的值创建该列。当我尝试通过像 我有一个错误,即数据帧的大小不相等,因此无法进行比较 问题答案: 如果将索引设置为另一个df上的“组”列,则

  • 问题内容: 我有2个数据框。 我想遍历每行,并检查每个名称是否在中。 如果名称在其中,结果应返回1,否则返回0: 谢谢。 问题答案: 采用 在数据框中显示结果 在系列对象中