如何在R中将文本分析数据框架从宽格式转换为长格式?

时间:2016-05-30 13:06:39

标签: r dataframe reshape

我正在尝试使用R中的tm和snowballC包来分析一些注释。我的输出格式如下:

 structure(list(Emp.or.man.or.big.idea = c(1, 2, 1, 2, 3), Sentiment = c(0, 
-1, 1, 0, -1), x1st = c(0, 0, 1, 0, 0), x2nd = c(0, 0, 1, 0, 
0), accept = c(0, 0, 0, 1, 0)), .Names = c("Emp.or.man.or.big.idea", 
"Sentiment", "x1st", "x2nd", "accept"), row.names = c(NA, -5L
), class = "data.frame")

我的第一栏是评论是由经理,员工做出的,还是一个好主意。我的第二个专栏是情绪是积极的,消极的还是中性的。我的第3栏及以后是特定员工/经理/大创意和特定情绪0/1 / -1的特定词汇和提及次数。

我试图了解如何将列名转换为行名。当我尝试使用重塑包时我遇到两个问题但是如果关闭我就无法拉。我有237个观察值和464个变量,所以我不确定如何从第3列开始转换数据,这样我就可以为每个独特的经理/员工/大创意和每个独特的情绪(1 / 0-1)为每个变量创建一个唯一的行)。对于从3到464的所有其他变量也是如此。在这种情况下,简单的转置不能解决问题。

期望的结果是这种格式:

structure(list(Emp.or.man.or.big.idea = c(1, 1, 1, 2, 2, 2, 3, 
3, 3), Sentiment = c(0, -1, 1, 0, -1, 1, 0, -1, 1), words = structure(c(2L, 
2L, 2L, 3L, 3L, 3L, 1L, 1L, 1L), .Label = c("accept", "x1st", 
"x2nd"), class = "factor"), num.mentions = c(2, 1, 3, 4, 2, 3, 
2, 5, 4)), .Names = c("Emp.or.man.or.big.idea", "Sentiment", "words", 
"num.mentions"), row.names = c(NA, -9L), class = "data.frame")

0 个答案:

没有答案