我有两个数据框架如下所示。我希望根据数据1的第一列更改数据2的冒号,如果数据2的冒号为数据1$ A,则将数据2的名称Dat 1$B用于数据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 , '')
发布于 2016-10-04 21:37:31
你可以这样做:
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
https://stackoverflow.com/questions/39861857
复制相似问题