簡體   English   中英

R 中特定字符串在整個時間內出現的百分比

[英]Percentage of occurrence of a specific string throughout time in R

我有一個這樣的數據庫:

Individual      Year     ID
A                1       R
A                1       S
A                1       T
A                2       T
B                1       T
B                5       T
C                7       S
D                9       K
D                8       H
E                1       S

數據庫中有成千上萬的人。

每個人每年都沒有、一個或多個 ID 相關聯(例如,個人 A 在第 1 年有 3 個不同的 ID,而個人 D 在第 10 年只有一個 ID,沒有其他信息)

我試圖研究 ID "S" 這些年來的演變並繪制一個折線圖,其中:
x 軸包含年份
y 軸百分比(#ID S/ # 所有個人的年度 ID 總數)

在這個例子中,我的輸出應該是:

Year       Percentage of S
1           0,5
2           0
5           0
7           1
8           0
9           0

第一年的值是通過將 3(第 1 年的 ID S 總數)除以 6(第 1 年注冊的 ID 總數)獲得的。

謝謝

你可以用

library(dplyr)

df %>% 
  group_by(Year) %>% 
  summarise(perc_of_s = sum(ID == "S") / n())

這返回

# A tibble: 6 x 2
   Year perc_of_s
  <dbl>     <dbl>
1     1       0.4
2     2       0  
3     5       0  
4     7       1  
5     8       0  
6     9       0  

第 1 年只有五個 ID,其中兩個是S ,因此百分比為0.4

暫無
暫無

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

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