簡體   English   中英

Dplyr:group_by和組內的操作

[英]Dplyr: group_by and operations within groups

請考慮以下內容

df <- structure(list(reporter = structure(c(1L, 1L, 2L, 2L, 3L, 3L),    .Label = c("NZL", 
"SEN", "USA"), class = "factor"), partner = structure(c(1L, 2L, 
 1L, 2L, 1L, 2L), .Label = c("EUN", "WLD"), class = "factor"), 
number_ntm = c(389, 20874, 0, 3933, 4, 30368)), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))

看起來像這樣

 # A tibble: 6 x 3
reporter partner number_ntm
<fct>    <fct>        <dbl>
1 NZL      EUN            389
2 NZL      WLD          20874
3 SEN      EUN              0
4 SEN      WLD           3933
5 USA      EUN              4
6 USA      WLD          30368

我要執行以下操作:按報告者分組,並在每個組中用合作伙伴EUN划分number_ntm除以合作伙伴WLD划分number_ntm。 我想要一個非常通用的dplyr解決方案,並且在合作伙伴結構包含一些我不想包括的額外因素時也可以使用。 任何建議表示贊賞

您可以按照akrun的建議進行操作,但是可以指定伙伴,而不要使用first和last。

df1<-df %>%
   group_by(reporter) %>%
   mutate(new = number_ntm[partner=="EUN"]/number_ntm[partner=="WLD"])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM