簡體   English   中英

如何根據R中的字符串匹配來聚合數據幀中的行? - 正則表達式

[英]How to aggregate rows in a data frame based on string match in R? - regex

我正在使用包含大約200行的數據框,我想刪除重復的行,將“分鍾”列中的值相加。 我對R很新,我還沒有辦法做到這一點。 它是否涉及應用正則表達式? 我真的很感激任何解決方案!

我的數據框看起來像這樣:

df <- data.frame(name = c("Adam Tucker", "AdamTucker", "adam.tucker98@example.com", "adamtucker", "James Mirra", "JamesTMirra", "Sebastian F"), minutes = c(10, 3, 15, 2, 5, 1, 10)) 

                     name   minutes
              Adam Tucker      10
               AdamTucker       3
 adam.tucker98@example.com     15
               adamtucker       2
              James Mirra       5
              JamesTMirra       1
              Sebastian F      10

而我正在尋找的結果將是這樣的:

       name    minutes
 Adam Tucker      30
 James Mirra       6
 Sebastian F      10

提前致謝!

你有一個包含所有唯一名字的主列表嗎? 您可以查看R中的pmatach包,或使用sqldf包來使用LIKE函數

df <- data.frame(name = c("Adam Tucker", "AdamTucker", "adam.tucker98@example.com", "adamtucker", "James Mirra", "JamesTMirra", "Sebastian F"), minutes = c(10, 3, 15, 2, 5, 1, 10)) 
require(sqldf)
sqldf("select * from df where name LIKE '%adam%'")

#                       name minutes
1               Adam Tucker      10
2                AdamTucker       3
3 adam.tucker98@example.com      15
4                adamtucker       2

然后使用級別重新分配每個相同的名稱,或者只在這里添加另一列,名稱為Adam Tuck作為最終版本,並使用名稱列作為鍵合並原始數據。

暫無
暫無

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

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