我是Excel用戶,試圖將一些常規數據報告任務轉換爲R. Excel中最強大的功能之一是對數據進行透視和排序的功能。我知道這些函數是R中的功能,但我不知道如何編寫代碼來解決這個特定的分組和排序問題。R中的分組和排序
基本上,使用RI想取一個數據集,看起來像這樣:
和改造它看起來是這樣的:
注意,最終表格組,然後按摘要點數排序摘要數據。學習如何在R中做到這一點將是一個巨大的節省時間。
在此先感謝您的幫助!
我是Excel用戶,試圖將一些常規數據報告任務轉換爲R. Excel中最強大的功能之一是對數據進行透視和排序的功能。我知道這些函數是R中的功能,但我不知道如何編寫代碼來解決這個特定的分組和排序問題。R中的分組和排序
基本上,使用RI想取一個數據集,看起來像這樣:
和改造它看起來是這樣的:
注意,最終表格組,然後按摘要點數排序摘要數據。學習如何在R中做到這一點將是一個巨大的節省時間。
在此先感謝您的幫助!
你將需要的兩個功能......一旦你有一個例子......是xtabs
和ftable
。首先,我們將現有表格轉換爲數據框,然後注意計數現在位於名爲「Freq」的變量中。然後我們重新制表,以較小的維數:
> Tdf <- as.data.frame(Titanic, stringsAsFactors=FALSE)
> str(Tdf)
'data.frame': 32 obs. of 6 variables:
$ Class : chr "1st" "2nd" "3rd" "Crew" ...
$ Sex : chr "Male" "Male" "Male" "Male" ...
$ Age : chr "Child" "Child" "Child" "Child" ...
$ Survived: chr "No" "No" "No" "No" ...
$ Freq : num 0 0 35 0 0 0 17 0 118 154 ...
> ftable(xtabs(Freq ~ Class+Sex, Tdf) , row.vars=c("Class", "Sex"))
Class Sex
1st Female 145
Male 180
2nd Female 106
Male 179
3rd Female 196
Male 510
Crew Female 23
Male 862
我還沒有爲它得到很多分,但我在同一時間做演示的那麼怎麼辦小計和總計:
R: calculating column sums & row sums as an aggregation from a dataframe
首先,歡迎來到R和SO。你會發現,你得到更好的答案,如果你遵循的準則在這裏張貼問題:
How to make a great R reproducible example?
你可以完成你在許多方面要求的。
首先,您需要在由c(Team,Player)
創建的每個分組上使用sum
函數。有這樣做的幾種方法:
by
在基礎R,加上as.data.frame.by
在taRifx
包ddply
在plyr
包然後把結果輸出,並再次對其進行排序(,很多方法可以做到這一點):
sort
在taRifx
包plyr
包
arrange
因爲它聽起來就像你會做這個有很多,我強烈建議創建自己的功能,在執行只是你想要的方式,兩個步驟像自動。然後,您可以將該功能放入您的.Rprofile
或包中,以便始終可用。
SO不是一個「gimme the codez」網站。嘗試一些東西,然後回答你寫的內容。 – CAbbott
除了其他評論(我同意),這對決賽桌來說是一個非常糟糕的格式。 –