如何选择相似的列并删除其他列?

时间:2016-10-04 21:14:08

标签: r dataframe

我有两个数据框如下。我想根据数据1的第一列更改数据2的名称,如果数据2的名称与数据1 $ A相似,则将数据1的名称设置为数据2的名称,否则忽略不相似的列

数据1:

   A    B
2-32   AD
3-45   AC
5-44   BC

数据2:

  RS     2-32    5-66   5-44  6-11  3-45
rs34       3       5      6     7    5
rs45       4       3      3     4    5

输出:

  RS     AD   BC   AC
rs34     3    6     5
rs45     4    3     5

我使用了'ifelse'命令,但我无法删除不相似的列。

a<- ifelse (colnames(Data2) %in% Data1 $ A, Dat1 $ B , '')

1 个答案:

答案 0 :(得分:1)

你可以这样做:

names(df2)[-1] <- df1[match(names(df2)[-1], df1$A),]$B
df2 <- df2[,!is.na(names(df2))]

#    RS AD BC AC
#1 rs34  3  6  5
#2 rs45  4  3  5