我有一個數據幀,它返回2組相同的最小值。如何處理以達到我的預期產出?dplyr:如何處理多個值
df<- read.table(header=TRUE,
text="
Company xxx yyyy zzzz cnt
abc 1 1 1 20
aaa 1 1 2 3
bbb 1 1 1 3
ddd 2 0 2 100
")
我想下面的代碼
final= df %>%
group_by(xxx,yyyy) %>%
summarise(Topcomp=Company[c(which(min(cnt)==cnt))])
即時得到:
Error: expecting a single value
我想有輸出像下面。
xxx yyyy Topcomp
<int> <int> <fctr>
1 1 1 aaa,bbb
2 2 0 ddd
最靈活的解決方案是一個列表列,即'df%>%group_by(xxx,yyyy)%>%summarize(Topcomp = list(Company [cnt == min(cnt)]))',儘管他們需要一些練習來處理。 – alistaire
另外,你可以在下面評論'c'和'which',因爲他們在這裏沒有做任何事情。 – alistaire