2016-01-26 60 views
0

我有這個數據幀,它由兩個向量組成,它運行到百萬行。我使用循環,但需要一天的時間來比較值。 有人可以建議任何應用功能?
名稱銷售
A 1
A 2
A 3
乙1
B 5
乙6 。
比較大於在一個向量中的元素r

我想要的是唯一的名稱列表,以及針對該特定名稱的銷售最大元素。像A有3行,最高銷售額是3.

輸出應該在數據幀中。
名銷售
A 3
b 6分配

+0

你可以使用dplyr嘗試。 'dat%>>%group_by(Names)%>%summarize(Sales = max(Sales))%>%data.frame()' – count

回答

0

您可以aggregate()

aggregate(V2 ~ ., df1 , max) 
# V1 V2 
#1 A 3 
#2 B 6 

數據

df1 <- structure(list(V1 = structure(c(1L, 1L, 1L, 2L, 2L, 2L), 
.Label = c("A", "B"), class = "factor"), V2 = c(1L, 2L, 3L, 1L, 5L, 6L)), 
.Names = c("V1","V2"), class = "data.frame", row.names = c(NA, -6L)) 
+0

你好,但如果我有缺失的值,它跳過那些名稱Cat_A Cat_B A 1 NA B NA NA如果我使用上面的聚合函數,它會跳過B在Cat_A和Cat_B中都有NA,但仍然需要A. – iamashish

+0

集合中處理NA的缺省選項是na.omit,這意味着缺少任何值被忽略。你可以通過指定'na.action'參數來改變這種行爲,比如'aggregate(Cat_A〜。,df1,max,na.action = na.pass)',但這可能會在max函數中產生問題。我想我不明白在NA的情況下你的期望輸出是什麼。也許你想問一個新的問題,因爲這不是你原來的職位的一部分。 – RHertel

相關問題