簡體   English   中英

根據 R 中數據值的等級或順序對行進行匯總和分組

[英]summarizing and grouping rows based on rank or order of data values in R

我的數據如下所示:

員工ID 單元 城市 STATE DATA_RANK
221 史密斯 吉爾 X1 達拉斯 德克薩斯州 2
221 史密斯-吳 吉爾 德克薩斯州 1
331 德文 瑪麗 X2 休斯頓 2
331 瑪麗 休斯頓 德克薩斯州 1
441 天鵝 安娜貝爾 X2 奧本 加州 1
441 安娜 X3 奧本 2

我試圖讓 output 看起來像這樣(按 EMPLOYEE_ID 分組行),並選擇 data_rank = 1 的行,其中有重復的員工 ID。

員工ID 單元 城市 STATE DATA_RANK
221 史密斯-吳 吉爾 德克薩斯州 1
331 瑪麗 休斯頓 德克薩斯州 1
441 天鵝 安娜貝爾 X2 奧本 加州 1

我嘗試使用以下代碼:

 data <- data %>%
 group_by(EMPLOYEE_ID, substr(LAST_NAME,0,4), substr(FIRST_NAME,0,3)) %>%
 mutate_at(vars(-group_cols()),funs(na.locf(., na.rm = FALSE, fromLast = FALSE))) %>%
 filter(row_number()==n())

但這並不能讓我來到這里。 有什么想法嗎? 謝謝!

您使用substr()是否有原因?

我相信這段代碼應該可以工作。

data %>%
  group_by(EMPLOYEE_ID) %>%
  filter(DATA_RANK == 1)

暫無
暫無

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

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