[英]How to Rename Certain Observations in Column Based on Certain String Value?
我正在尋找基於某個字符串重命名我的列的某些值。 我當前的數據類似於這個例子:
PlayerID
Hank_Aaron+7
Babe Ruth+5
MMM + 7
Willie Mayes+1
MMM + 3
我想將所有以“MMM”開頭的觀察結果重命名為“MMM”。 例如,我希望上表最終看起來像這樣:
PlayerID
Hank_Aaron+7
Babe Ruth+5
MMM
Willie Mayes+1
MMM
我還需要將列保持在同一 dataframe 中,以便我可以將其用於回歸。 先感謝您!
使用grep
,找到“MMM”字符串的 position 索引,提取它們,然后進行分配(假設“PlayerID”是character
class 而不是factor
類)
df1$PlayerID[grep("^MMM", df1$PlayerID)] <- "MMM"
我們可以使用startsWith
:
df$PlayerID[startsWith(df$PlayerID, 'MMM')] <- 'MMM'
我們也可以在replace
中使用它:
df$PlayerID <- replace(df$PlayerID, startsWith(df$PlayerID, 'MMM'), 'MMM')
df
# PlayerID
#1 Hank_Aaron+7
#2 Babe Ruth+5
#3 MMM
#4 Willie Mayes+1
#5 MMM
數據
df <- structure(list(PlayerID = c("Hank_Aaron+7", "Babe Ruth+5", "MMM + 7",
"Willie Mayes+1", "MMM + 3")), class = "data.frame", row.names = c(NA, -5L))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.