根据另一个数据框的值删除一个数据框的行和列

用户名

我想打印一个大型数据框的行和列,其中值也出现在另一个数据框的给定行或列中。我正在尝试基于与值列表的巧合的for循环,但没有成功。一个简化的例子:

给定数据框

r1<-c(1,2,3,4,5)
r2<-c(6,7,8,9,10)
r3<-c(11,12,13,14,15)
r4<-c(16,17,18,19,20)
r5<-c(21,22,23,24,25)
sample<-as.data.frame(rbind(r1,r2,r3,r4,r5))

        V1  V2  V3  V4  V5
   r1   1   2   3   4   5
   r2   6   7   8   9   10
   r3   11  12  13  14  15
   r4   16  17  18  19  20
   r5   21  22  23  24  25

我想删除第一行r1的值未出现在“样本”中的列

info.column<-as.data.frame(c(6,1,4,21,15,11,9,12,13,14,15))

并擦除其中第一列V1的值未出现在其中的行

info.row<-as.data.frame(c(1,11,3,7,5,21,2))

预期的结果将是

            V1  V4
       r1   1   4
       r3   11  14
       r5   21  24

有什么建议吗?

贾斯汀

sample[sample$V1 %in% info.row[, 1], sample[1,] %in% info.column[, 1]]

让我们分解一下。查看每个部分返回的内容:

> sample$V1 %in% info.row[, 1]
[1]  TRUE FALSE  TRUE FALSE  TRUE

这表示在data.frame的第一列中找到samplenamed列的哪些行换句话说,我在第1、3和5行中找到匹配的值。V1info.row

相似地:

> sample[1,] %in% info.column[, 1]
[1]  TRUE FALSE FALSE  TRUE FALSE

说我想在第一行中找到sampledata.frame第一列的位置的列info.column再说一次,我在第1列和第4列中找到匹配的值。

因此结果将是3 x 2并等于 sample[c(1, 3, 5), c(1, 4)]

使用时,[您可以将其读取为subset因此,返回[行,列]这两个表达式所在的位置TRUE

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据另一个数据框中的列值从 R 中的数据框中删除行

根据来自另一个数据框的行删除一个数据框的行

根据在另一个数据框中的查找删除一个数据框中的行

根据另一个数据框的列值创建一个数据框

根据另一个数据框值从熊猫数据框的行中删除系列值

根据另一个数据框的列值过滤数据框

根据另一个数据框计算数据框中的列值

根据条件为另一个数据框的数据框列设置值

根据另一个数据框的ID和值在一个数据框上设置值

根据另一个数据集中的列值在一个数据框中创建列

如何根据R中另一个数据框中的列删除列数据框中的行?

根据另一个数据框中的值删除数据框中的行

根据另一个数据框列的唯一值创建一个新的数据框

熊猫会在一个数据框中删除与另一个数据框的一列中的行具有共同值的行

根据另一个数据框中的多列删除数据框中的行

根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

Python / Pandas:根据另一个数据框过滤和组织数据框的行和列

根据另一个数据框的列值替换两个数据框列的值

熊猫根据另一个数据框将多个列和行值设置为nan

根据id列中的公共值从另一个数据框中减去数据框的行

根据另一个数据框的行值在数据框中添加新列

基于另一个数据框的行和列创建数据框

根据另一个数据框的值填充一个数据框的值

从数据框中删除行,因为另一个数据框中不存在列值

合并数据框列和基于另一个数据框列值的行到特定索引

根据另一个数据框的值插值列的缺失值

根据来自另一个数据框列的值选择列值

从另一个数据框填充一个数据框的列

根据列中的值填充另一个数据框的值