我有两个 Dataframe ;mRNA
(here)和RPPA
(here)。mRNA
数据框有1,212列,而RPPA
数据框有937列。RPPA
数据框中的所有列名也会出现在mRNA
数据框中(但顺序不同)。在列内,两个数据框之间的值不同。
我想创建一个new mRNA
数据框,它将包含与RPPA
数据框相同的列,并且不会包含("旧")mRNA
数据框中未出现的列。
举个例子:
mRNA <- data.frame(A=c(25,76,23,45), B=c(56,89,12,452), C=c(45,456,243,5), D=c(13,65,23,16), E=c(17:20), F=c(256,34,0,5))
RPPA <- data.frame(B=c(46,47,45,49), A=c(51,87,34,87), D=c(76,34,98,23))
预期结果将是:
> new.mRNA
B A D
56 25 13
89 76 65
12 23 23
452 45 16
我尝试过将RPPA列名转换为向量,然后将其与命令mRNA[col.names.vector]
一起使用,如here所述,但它不起作用。它给出错误undefined columns selected
。
有没有一个快速的方法来做到这一点(没有函数,循环等)?
4条答案
按热度按时间e5njpo681#
这两个答案对我的数据都不起作用。多亏了这两个答案,再加上一点研究,我找到了答案:**首先,**需要生成一个向量,它只包含出现在两个数据框中的列名,为此我使用了命令
intersect
和Reduce
:现在你可以使用给出的答案:
并且这将产生具有正确值的新 Dataframe 。
感谢@akrun和@Titolondon的帮助
hiz5n14c2#
您可以按照下面的代码在两个数据框中找到不同的列。
soat7uwm3#
我们可以通过列名“RPPA”将
mRNA
划分为子集,并将其分配给“RPPA”bwntbbo34#
带有向量的 Dataframe 的子集应该有功。
1.创建要保留的列名的向量
1.使用此向量子集化 Dataframe