[英]Ranking repeating group of values in a Column using R
我有一個按以下順序排序的電子郵件元數據表,其中我知道該數據已排序,並且每次出現“發件人”都意味着下一組條目表示另一封電子郵件的屬性。
該列具有以下重復模式:
==============
Tag
==============
From
Recepient
CC_Recepient
CC_Recepient
Subject
From
Recepient
CC_Recepient
Subject
From
Recepient
Subject
From
etc..
==============
我需要創建第二列,這是與電子郵件相關的每個條目組的唯一標識符,如下所示。 重復出現“發件人”是我必須識別下一組條目的開始的唯一方法。
<table><tbody><tr><th>Tag </th><th>Identifier</th></tr><tr><td>From </td><td>1</td></tr><tr><td>Recepient </td><td>1</td></tr><tr><td>CC_Recepient </td><td>1</td></tr><tr><td>CC_Recepient </td><td>1</td></tr><tr><td>Subject</td><td>1</td></tr><tr><td>From </td><td>2</td></tr><tr><td>Recepient</td><td>2</td></tr><tr><td>CC_Recepient</td><td>2</td></tr><tr><td>Subject</td><td>2</td></tr><tr><td>From</td><td>3 </td></tr><tr><td>Recepient</td><td>3</td></tr><tr><td>Subject</td><td>3</td></tr><tr><td>From</td><td>4</td></tr><tr><td>etc..</td><td> </td></tr></tbody></table>
您可以檢查Tag
是否等於From ,然后對條件進行cumsum
:
df$Identifier <- cumsum(df$Tag == "From")
df
# Tag Identifier
#1 From 1
#2 Recepient 1
#3 CC_Recepient 1
#4 CC_Recepient 1
#5 Subject 1
#6 From 2
#7 Recepient 2
#8 CC_Recepient 2
#9 Subject 2
#10 From 3
#11 Recepient 3
#12 Subject 3
#13 From 4
#14 etc.. 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.