我在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中的程序来做到这一点。任何帮助将不胜感激。提前谢谢。
答案 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
的好教程