如果该数据帧中的相邻行匹配,我试图用另一个数据帧中的值替换一个数据帧的列名。
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
在上面提供的示例中,我想将df2中的列名替换为df1$ensembl_gene_id
中的匹配值。
nrow(df1)
大于ncol(df2)
并且存在不匹配的值,因此我不能简单地将colnames(df1)
替换为df1$ensembl_gene_id
这可能是一个相对简单的数据争论问题,但我似乎无法弄明白。任何帮助将不胜感激。
答案 0 :(得分:1)
我希望此代码可以帮助您:
ind <- match(names(df2), df1$mgi_symbol)
names(df2) <- df1$ensembl_gene_id[ind]