如何根据R中的另一个数据框架中的值更改行和列名?



假设我有一个矩阵mx,有命名的行和列,有数百行/列。示例如下:

ABC DEF GHI
ABC 1   0   1
DEF 0   1   0
GHI 0   0   1

假设我有一个名为df的数据帧,它有两列,看起来像

letters country
ABC     UK
DEF     USA
GHI     Egypt

我要根据df中相应的country值重新命名mx中的行和列。

。我希望mx变成:

UK USA Egypt
UK    1   0   1
USA   0   1   0
Egypt 0   0   1

有人知道这在R中是否可能吗?

你可以试试

x <- colnames(mx) # = rownames(mx)
df$country[match(x, df$letters)]
colnames(mx) <- df$country[match(x, df$letters)]
#rownames(mx) <- df$country[match(x, df$letters)]

最新更新