我有一個包含數字和字母組合的大型數據集。只是一個小例子:使用模式重新格式化數據
sex <- c("M", "F", "F", "M", "M")
ind <- c("I1", "I2", "I3", "I4", "C")
M1 <- c("ab", "bb", "ac", "ad", "dd")
M2 <- c(12, 22, 23, 24, 25)
M3 <- c("AT", "AG", "AC", "GG", "TC")
M4 <- c(22, 23, 24, 14, 24)
mydf <- data.frame(sex, ind, M1, M2, M3, M4)
mydf
sex ind M1 M2 M3 M4
1 M I1 ab 12 AT 22
2 F I2 bb 22 AG 23
3 F I3 ac 23 AC 24
4 M I4 ad 24 GG 14
5 M C dd 25 TC 24
我想在列中的兩個字符之間引入一個「/」標記M1 ......的Mn(文件的結束),使得所得到的數據幀的樣子:
sex ind M1 M2 M3 M4
1 M I1 a/b 1/2 A/T 2/2
2 F I2 b/b 2/2 A/G 2/3
3 F I3 a/c 2/3 A/C 2/4
4 M I4 a/d 2/4 G/G 1/4
5 M C d/d 2/5 T/C 2/4
對不起,我是一無所知,如何進行......您的幫助表示讚賞...
謝謝你的苗條解決方案,但我並不打算以適用於ind變量,所以我可以很容易地通過刪除:data.frame(lapply(mydf [,3:length(mydf)],function(x)sub(「(。)(。)」,「\\ 1/\\ 2「,x))) – jon