我有2個數據集,我需要與使用R的公共列合併,但他們需要更改顯示相同的格式,但無法找到如何。 一列看起來像這樣R:編輯一個列,以便它可以合併
BT0-3
BT0-4
BT0-5
而其他看起來像這樣:
BT0_3.5
BTO_4.5
BT0_5.5
我只是需要使它們相匹配,所以我可以將它們合併(該數值標籤,讓額外的0.5是隻是以不同方式記錄)
我有2個數據集,我需要與使用R的公共列合併,但他們需要更改顯示相同的格式,但無法找到如何。 一列看起來像這樣R:編輯一個列,以便它可以合併
BT0-3
BT0-4
BT0-5
而其他看起來像這樣:
BT0_3.5
BTO_4.5
BT0_5.5
我只是需要使它們相匹配,所以我可以將它們合併(該數值標籤,讓額外的0.5是隻是以不同方式記錄)
是否所有值都在BT0
開頭?在第二列中,其中一個值的類型爲BTO
。這是一個錯字嗎?假設兩列的價值觀與BT0
開始,確保兩個列字符(而不是因子)模式,則:
df$var = gsub("_([0-9])\\..$", "-\\1", df$var)
其中df$var
是要改變數據幀和列。這將用一個連字符代替數字前的下劃線,並在字符串末尾刪除一個後跟任意字符的句點。
如果你的問題是,如何更換 ' - ' 到 '_',那麼這將是: VAR =子(模式= ' - ',更換= '_',X = VAR)
如果你想刪除'.5',然後: var = sub(pattern ='.5',replacement ='',x = var) 只會完成這項工作。
函數'sub'和'gsub'之間的區別是'gsub'替換符合模式的所有符號,而'sub'只替換左邊的第一個匹配。如果你不太瞭解你的數據,我會建議使用sub,並且在更換之後嘗試'grep'以找到改進。