2011-10-19 53 views
1

我需要在R中創建一個數據透視表,它具有文本值而不是彙總SUM或AVERAGE函數。像在下面的例子:R中的文本內容交叉表

原始表(在數據幀與場用戶,域,文本):

用戶|字段|文本
Group1 |字段1 |文本內容A
Group1 |字段2 |文本內容B
Group2 |字段1 |文本內容C
Group2 |字段2 |文本內容D
Group3 |字段1 |文字內容電子郵件

結果,我用交叉製表需要在R:

用戶|字段1 | Field 2
Group1 |文本內容A |文本內容B
Group2 |文字內容C |文字內容D
Group3 |文本內容E | NA
然後,我需要將結果保存爲CSV ...但這是最簡單的部分:)

有沒有什麼辦法實現這個目標?

非常感謝, MA

回答

3

這是reshape(從 '長' 格式,以 '寬' 格式去)。其他人更喜歡reshape包,但兩者都適用於這種簡單的情況。

下面是與基礎功能的解決方案:

tmp<-data.frame(user=c("G1", "G1", "G2", "G2", "G3"), field=c("F1", "F2", "F1", "F2", "F1"), txt=c("A", "B", "C", "D", "E")) 
reshape(data=tmp, direction="wide", timevar="field", idvar="user") 
+0

我沒有看在重塑幫助,但只發現瞭如何像我在最初的消息說,加聚合值的信息......我似乎無法找到關於如何添加文本內容的任何信息...因此我的信息在這裏。不管怎樣,謝謝你。 – MA81

+0

編輯,包括如何使用它的例子... –

+0

非常感謝你尼克!它工作完美!其實我試圖將文本值作爲一個參數,比如value =「txt」..這就是我出錯的地方。非常感謝。 – MA81