[問題] 如何將一個欄位按降冪排列變成另一個欄位

看板R_Language作者 (= =)時間8年前 (2017/08/12 18:17), 8年前編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/3 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 各位大大好,我有一筆資料長得像是: head(df) id place count 1 A 1 1 B 1 2 B 1 2 C 3 3 D 2 4 A 1 4 C 2 4 D 5 5 B 1 我希望能讓他變成 id count top_place1 top_place2 1 2 A B 2 4 C B 3 2 D 4 8 D C 5 1 B [程式範例]: 這是我目前的做法,總覺得寫得怪怪的,如果未來要做到 top100 就不能這樣寫 謝謝各位 Orz library(dplyr) answer <- NULL for(x in as.list(unique(df$id))) { df_id <- df %>% filter(id == x) %>% arrange(-count) count <- sum(df$count) top_place1 <- NA top_place2 <- NA col <- c(x, count, top_place1, top_place2) for(y in 1:nrow(df_id)) { if(y <= 2) { col[y+2] <- df_id[y,]$place } answer <- rbind(answer, col) } [環境敘述]: [關鍵字]: -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 54.92.33.221 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1502533023.A.ED1.html ※ 編輯: henry48124 (54.92.33.221), 08/12/2017 18:17:46 ※ 編輯: henry48124 (54.92.33.221), 08/12/2017 18:18:50

08/13 03:38, , 1F
同id下次數相同的place如何安排top_place?前後順序?
08/13 03:38, 1F
文章代碼(AID): #1PZjMVxH (R_Language)
文章代碼(AID): #1PZjMVxH (R_Language)