我有一個資料集,它給我網球分數,但作為字符型別,例如"6-4 3-6 6-2"
和
"7-6(6) 6-2"
。我想將比賽中的所有比賽加起來,所以我需要洗掉連字符、空格和決勝局得分,在第二個示例中被視為(6)
. 然后,將它們轉換為雙打并添加每個單獨的數字,以獲得比賽中的總比賽數,因此對于第一個和第二個示例,總比賽數分別為 27 和 21。
到目前為止,我可以通過使用 stringr 包并使用
str_replace_all(score, c("-" = "", " " = ""))
它給我一個帶數字的字串來處理洗掉破折號和空格。我不知道如何從字串中洗掉 tiebreak 分數,因為括號之間的值可以是任何值。不知何故需要弄清楚如何替換"(...)"
to ""
,任何字串都可以在括號內(在我的情況下它只有一個數字)。此外,括號可以出現在字串中的任何位置。
uj5u.com熱心網友回復:
games <- c("6-4 3-6 6-2" , "7-6(6) 6-2")
sub("\\(.*\\)", "", games) |>
strsplit(split="-|\\s*") |>
sapply(function(x) sum(as.numeric(x), na.rm = TRUE))
[1] 27 21
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/519974.html
標籤:r正则表达式细绳代替弦乐