2017-06-15 61 views
-3

我有一個包含4行(名稱,等級,主題,標記)的數據透視表。有獨特的組合,但分數可以有不同的值(基於中期分數,最終分數等)。在創建數據透視表時,我將記錄分成不同的行,如,等等。我想彙總最後一級的標記,並將輸出作爲或或。最後一級應根據以前的級別來照顧標記的聚合。有沒有辦法做到這一點? attaching an example here, where I want to aggregate marks at last levelR樞軸表中的求和

+1

不清楚,請出示表是什麼樣子。 – Spacedman

+1

請閱讀關於[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)以及如何給出[可重現的示例]的信息(http://stackoverflow.com/questions/5963269)。這會讓其他人更容易幫助你。 – zx8754

+0

如果您使用製作此類顯示的R庫,則應命名它並生成代碼。如果這只是一個Excel問題,您應該刪除[r]標籤,因爲您很可能只是在煩惱R用戶。 –

回答

1

您可以使用表

table(df$Name, df$Grade, df$Subject, df$Marks) 

其中df是你的數據幀

1

pivottabler包可以產生的問題所示的表格。 (我是包作者)。

示例數據

Name = c("Rahul", "Rahul", "Rahul", "Rahul", "Rahul", "Rahul", "Ram", "Ram", "Ram", "Ram") 
Grade = c(10, 10, 11, 11, 11, 11, 10, 10, 11, 11) 
Subject = c("English", "Hindi", "English", "Hindi", "Maths", "Science", "English", "Hindi", "English", "Hindi") 
Marks = c(90, 91, 72, 65, 90, 95, 90, 80, 83, 81) 
Results = data.frame(Name, Grade, Subject, Marks) 

清單每個結果分別

library(pivottabler) 
pt <- PivotTable$new() 
pt$addData(Results) 
pt$addRowDataGroups("Name") 
pt$addRowDataGroups("Grade", addTotal=FALSE) 
pt$addRowDataGroups("Subject", addTotal=FALSE) 
pt$addRowDataGroups("Marks", addTotal=FALSE) 
pt$defineCalculation(calculationName="Totals", summariseExpression="n()") 
pt # to output as plain text to console 
pt$renderPivot() # to output as HTML table 

enter image description here

顯示結果的平均值

library(pivottabler) 
pt <- PivotTable$new() 
pt$addData(Results) 
pt$addRowDataGroups("Name") 
pt$addRowDataGroups("Grade", addTotal=FALSE) 
pt$addRowDataGroups("Subject", addTotal=FALSE) 
pt$defineCalculation(calculationName="Mean", summariseExpression="mean(Marks)") 
pt$defineCalculation(calculationName="Totals", summariseExpression="n()") 
pt # to output as plain text to console 
pt$renderPivot() # to output as HTML table 

enter image description here

+0

看起來不像圖像,但很接近。也許嵌入某種以網絡爲目標的顯示面板? –

+0

我認爲原始文章中的圖片來自通過拖放創建數據透視表的rpivotTable軟件包(或與JavaScript等效的軟件包),例如,見[這裏](https://cran.r-project.org/web/packages/rpivotTable/vignettes/rpivotTableIntroduction.html)。我的答案中的圖片是由pivottabler軟件包生成的HTML輸出,如R Studio中的「查看器」窗格中所示,但可以導出HTML,或者使用R Studio(例如,單擊「在新窗口中顯示」按鈕「查看器」窗格中)或使用pt $ saveHtml()。希望澄清。如果不是 – cbailiss

+0

PS,請告知我。我將原始問題解釋爲「我怎樣才能產生看起來像這個圖像的數據輸出?」所以我的目標是匹配結構和數字而不是造型/格式。 – cbailiss