2017-01-18 54 views
2

我有2個數據集,我需要與使用R的公共列合併,但他們需要更改顯示相同的格式,但無法找到如何。 一列看起來像這樣R:編輯一個列,以便它可以合併

BT0-3 
BT0-4 
BT0-5 

而其他看起來像這樣:

BT0_3.5 
BTO_4.5 
BT0_5.5 

我只是需要使它們相匹配,所以我可以將它們合併(該數值標籤,讓額外的0.5是隻是以不同方式記錄)

回答

0

是否所有值都在BT0開頭?在第二列中,其中一個值的類型爲BTO。這是一個錯字嗎?假設兩列的價值觀與BT0開始,確保兩個列字符(而不是因子)模式,則:

df$var = gsub("_([0-9])\\..$", "-\\1", df$var) 

其中df$var是要改變數據幀和列。這將用一個連字符代替數字前的下劃線,並在字符串末尾刪除一個後跟任意字符的句點。

2

如果你的問題是,如何更換 ' - ' 到 '_',那麼這將是: VAR =子(模式= ' - ',更換= '_',X = VAR)

如果你想刪除'.5',然後: var = sub(pattern ='.5',replacement ='',x = var) 只會完成這項工作。

函數'sub'和'gsub'之間的區別是'gsub'替換符合模式的所有符號,而'sub'只替換左邊的第一個匹配。如果你不太瞭解你的數據,我會建議使用sub,並且在更換之後嘗試'grep'以找到改進。

相關問題