簡體   English   中英

使用R對列中的重復值組進行排序

[英]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.

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