1
我已經使用聚合創建了一個接近我需要的數據框。但是,我遇到的問題正是我想要的。根據數值變量的最大值創建具有因子變量級別的數據框
假設原始數據如下:
data
Order Item Price Quantity
1 A 10 1
1 A 20 3
2 B 30 1
2 C 40 1
3 B 30 1
4 C 50 1
5 A 10 1
5 B 40 2
我現在和價格和數量根據項目和訂單。
data.new <- aggregate(cbind(price, quantity) ~ Order + Item, sum, data = data)
data.new
╔═══════╦══════╦═══════╦══════════╗
║ Order ║ Item ║ Price ║ Quantity ║
╠═══════╬══════╬═══════╬══════════╣
║ 1 ║ A ║ 30 ║ 4 ║
║ 2 ║ B ║ 30 ║ 1 ║
║ 2 ║ C ║ 40 ║ 1 ║
║ 3 ║ B ║ 30 ║ 1 ║
║ 4 ║ C ║ 50 ║ 1 ║
║ 5 ║ A ║ 10 ║ 1 ║
║ 5 ║ B ║ 40 ║ 2 ║
╚═══════╩══════╩═══════╩══════════╝
這對於Order = 1很好,但我需要每一行都是唯一的Order。所以,我希望總結項目的最高價格爲每個獨特的訂單。該項目只是一個高水平的因素,以表明推動獨特訂單的大部分銷售價格。它看起來應該如下:使用plyr
data.new <- ????
data.new
╔═══════╦══════╦═══════╦══════════╗
║ Order ║ Item ║ Price ║ Quantity ║
╠═══════╬══════╬═══════╬══════════╣
║ 1 ║ A ║ 30 ║ 4 ║
║ 2 ║ C ║ 70 ║ 2 ║
║ 3 ║ B ║ 30 ║ 1 ║
║ 4 ║ C ║ 50 ║ 1 ║
║ 5 ║ B ║ 50 ║ 3 ║
╚═══════╩══════╩═══════╩══════════╝
僅供參考 - 所有對您的示例數據的瘋狂格式化使得幾乎不可能讓任何人真正地使用它,這種方式無法達到目的。更好的是,我的編輯將提供'dput(data)'的輸出。 – joran
對不起,我不確定如何爲stackexchange設置一個表格的格式,並引用了這個http://meta.stackexchange.com/questions/73566/is-there-any-markdown-to-create-tables,這導致了我這樣做http://www.sensefulsolutions.com/2010/10/format-text-as-table.html – kzoo
不用擔心。只是當您提供R問題的示例數據時,最重要的是以一種方便人們轉移到他們自己的R會話的方式進行。 – joran