R-将数据转换为与其他矩阵相同的矩阵格式

时间:2014-04-22 13:38:33

标签: r matrix

我在excel中有数据:

     Terms       Category  Weight

      email       TV          1.00

      acccount    Email       12.0

      accept      Phone       3.00

我有其他矩阵,其格式为:

   Terms   TV    Email  Phone  Contact    Information  Support .....

   achieve  1    0.       0      0         0             0
   acquired 0    10.20    0      0         0             0
   across   0    0        3.00   0          0            0

现在我想将上述数据转换为上述格式,如

   Terms   TV    Email  Phone  Contact    Information  Support .....

    email    1    0.       0      0         0.0          0
    acccount 0    12.0    0      0         0.0          0
    accept   0    0        0      1.23       0          0

我想通过R中的程序来做到这一点。任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:3)

您需要重塑数据。安装包" reshape2"如果你还没有它

以下是重塑数据的代码

require(reshape2)
df.reshape <-melt(df, id.var=c("Terms", "Category")) 
#where df is your data.frame to be reshaped
#using both terms and category as ID variables
#now reshape it to wide format by casting
df.wide <-dcast(df.reshape, Terms~Category)

请注意,这将为您提供数据中不存在的对的NA。 如果需要,可以使用零轻松替换

这是一个使用reshape2 http://www.seananderson.ca/2013/10/19/reshape.html

的好教程