我想將所有這些 _xxxxxx 字串標準化為 V1 列中的 xxxxxxH 格式。
V1 V2 V3
122223H 20 Test kits
122224H 23 Test kits
122225H 42 Test kits
122227H 31 Test kits
_122228 23 Test kits
_122229 57 Test kits
_122231 21 Test kits
122232H 33 Test kits
122234H 22 Test kits
....... .. .... ....
....... .. .... ....
....... .. .... ....
122250H 33 Test kits
我試圖用 R 中的 gsub 函式解決它,但無法制作我需要的確切格式。有什么建議,拜托!!!基于 Unix 的命令也很有幫助。
df <- gsub("_","H",c(file$V1))
輸出;
"H1222228" "H1222229" "H1222231"
期望的輸出;
V1 V2 V3
122223H 20 Test kits
122224H 23 Test kits
122225H 42 Test kits
122227H 31 Test kits
122228H 23 Test kits
122229H 57 Test kits
122231H 21 Test kits
122232H 33 Test kits
122234H 22 Test kits
....... .. .... ....
....... .. .... ....
....... .. .... ....
122250H 33 Test kits
uj5u.com熱心網友回復:
在字串以下劃線開頭的情況下,只需將數字替換為后跟 H 的數字:
file <- data.frame(v1 = c("122227H", "_122231"))
file$v1 <- gsub("_(\\d. )", "\\1H", file$v1)
輸出:
"122227H" "122231H"
uj5u.com熱心網友回復:
嘗試以下方法,盡管可能存在更優雅的解決方案:
df <- data.frame(v1 = c("122223H","122224H","122225H","122227H","_122228","_122229"),
v2 = c(21,23,42,31,23,57),
v3 = rep("Test Kits", times = 6))
df$newstring <- gsub("_","",c(df$v1))
df$newstring <- ifelse(grepl("H", df$newstring, fixed = TRUE), df$newstring, paste0(df$newstring,"H"))
# > df
# v1 v2 v3 newstring
# 1 122223H 21 Test Kits 122223H
# 2 122224H 23 Test Kits 122224H
# 3 122225H 42 Test Kits 122225H
# 4 122227H 31 Test Kits 122227H
# 5 _122228 23 Test Kits 122228H
# 6 _122229 57 Test Kits 122229H
uj5u.com熱心網友回復:
$ sed 's/_\([0-9]*\)/\1H/' file
V1 V2 V3
122223H 20 Test kits
122224H 23 Test kits
122225H 42 Test kits
122227H 31 Test kits
122228H 23 Test kits
122229H 57 Test kits
122231H 21 Test kits
122232H 33 Test kits
122234H 22 Test kits
....... .. .... ....
....... .. .... ....
....... .. .... ....
122250H 33 Test kits
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444736.html
