2017-06-25 8 views
1

データフレーム内の隣接する行が一致する場合、あるデータフレームの列名を別のデータフレームの値に置き換えようとしています。上記の例で隣接する行が一致する場合、1つのデータフレームの列名を別のデータフレームの行と置き換えます。

head(df1) 

ensembl_gene_id  mgi_symbol 
ENSMUSG00000021252 0610007P14Rik 
ENSMUSG00000007777 0610009B22Rik 
ENSMUSG00000086714 0610009E02Rik 
ENSMUSG00000024442 0610009O20Rik 
ENSMUSG00000042208 0610010F05Rik 
ENSMUSG00000058706 0610030E20Rik 

head(df2) 

0610007N19Rik 0610007P14Rik 0610009B22Rik 0610009D07Rik 0610009E02Rik 0610009O20Rik 0610010F05Rik 0610011F06Rik 0610030E20Rik 0610031J06Rik ⋯ mt-Tl1 mt-Tm mt-Tp mt-Tq mt-Ts2 mt-Tv 3110079O15Rik 4933408B17Rik Efcab9 Il17rd 
GTCATCTTTACT.AJP1 -0.07497236 -0.1947123 -0.1656026 -0.252564 -0.08834634 5.2688983 -0.09093407 -0.1779879 -0.15511 1.6949233 ⋯ -0.02246199 -0.04942127 -0.09752107 -0.03143053 -0.03057371 -0.05273995 -0.02246199 -0.03175767 -0.02246199 -0.0824498 
CCGACGTATCGT.AJP1 -0.07497236 -0.1947123 -0.1656026 -0.252564 -0.08834634 -0.1534577 -0.09093407 2.9506885 -0.15511 -0.2636754 ⋯ -0.02246199 -0.04942127 -0.09752107 -0.03143053 -0.03057371 -0.05273995 -0.02246199 -0.03175767 -0.02246199 -0.0824498 
TTGGTACTTCCG.AJP1 -0.07497236 -0.1947123 -0.1656026 -0.252564 -0.08834634 -0.1534577 -0.09093407 -0.1779879 -0.15511 -0.2636754 ⋯ -0.02246199 -0.04942127 -0.09752107 -0.03143053 -0.03057371 -0.05273995 -0.02246199 -0.03175767 -0.02246199 -0.0824498 
AAGAGCGCGTGC.AJP1 -0.07497236 -0.1947123 -0.1656026 -0.252564 -0.08834634 -0.1534577 -0.09093407 -0.1779879 -0.15511 -0.2636754 ⋯ -0.02246199 -0.04942127 -0.09752107 -0.03143053 -0.03057371 -0.05273995 -0.02246199 -0.03175767 -0.02246199 -0.0824498 
GCTATCTTCCTN.AJP1 -0.07497236 -0.1947123 -0.1656026 -0.252564 -0.08834634 -0.1534577 -0.09093407 -0.1779879 -0.15511 -0.2636754 ⋯ -0.02246199 -0.04942127 -0.09752107 -0.03143053 -0.03057371 -0.05273995 -0.02246199 -0.03175767 -0.02246199 -0.0824498 

、Iはdf1$ensembl_gene_idからマッチング値とDF2の列名を交換したいと思います。

nrow(df1)ncol(df2)以上であると私は単にこれはおそらく、比較的単純なデータ-論争の問題ですが、私は数字に見えることはできませんdf1$ensembl_gene_id

colnames(df1)を交換することはできませんので、一致しない値がありますそれを出す。どんな助けもありがとう。私はこのコードはあなたを助けることを願って

+0

はSOへようこそ!各データフレームのヘッダーを貼り付けるのではなく、 'dput(df1)'と 'dput(df2)'の出力を含めて再現性を持たせてください。 –

+0

私にお知らせいただきありがとうございます。私はこのポストのデータフレームをフォーマットするのに苦労しましたので、これは役に立ちます。 – microliter

答えて

1

ind <- match(names(df2), df1$mgi_symbol) 
names(df2) <- df1$ensembl_gene_id[ind] 
+0

これは、わずかな修正で動作するように見えた: 'IND < - 私があればと思い、[IND]' – microliter

+0

DF1 $ ensembl_gene_id - マッチ(COLNAMES(DF2)、DF1 $ mgi_symbol) ' ' COLNAMES(DF2)<あなたは、 "名前()"と "colnames()"の両方の関数が同じ答えを返すデータフレームを持っています –

関連する問題