library(tidyverse)
我想用dplyr,tidyr和purrr在Tidyverse語法中重寫下面的for循環代碼。重寫一個For循環,計算百分比列時,總成一排使用Tidyverse
for (i in seq_along(Data3)) {
Data3[[i]]$Count <- as.numeric(Data3[[i]]$Count)
n <- nrow(Data3[[i]])
Data3[[i]]$perc <- Data3[[i]]$Count/Data3[[i]]$Count[n]
}
的樣本數據如下:
Loc<-c("Montreal","Toronto","Vancouver","Quebec","Ottawa","Hamilton","Total")
Count<-c("2344","2322","122","45","4544","44","9421")
Data<-data_frame(Loc,Count)
Data2<-data_frame(Loc,Count)
Data3<-list(Data,Data2)
這就是我想要實現:
每個數據幀都有「總計」與相應的總總的「祿」列中「計數」列。我想通過將「計數」列中的每個值除以總計(即「計數」列中的最後一個數字)來計算每個數據幀的百分比。
我想百分比作爲每個數據框的新列添加。 對於本示例,總數是列中的最後一個數字,但實際上,它可以在列中的任意位置混合,並可通過「Loc」列中相應的「總計」值找到。
我一直在玩使用purrr :: map,但我不知道如何計算百分比。
Data3%>%map(~mutate(.x,paste0(round(100* (MISSING PERCENTAGE),2),"%"))
這個網站是不是'寫我的代碼'的問題。你已經嘗試過什麼,什麼不起作用,或者你卡在哪裏? –
我爲代碼添加了一個我想到的例子,但是我真的被困在百分比計算中。我試圖尋找其他職位,但找不到任何東西。 – Mike