假设我有一个矩阵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)]