R 如何在每列的每个字母/元素后添加分隔符
我有一个名为R 如何在每列的每个字母/元素后添加分隔符,r,R,我有一个名为mydf的数据帧。我想在每列中的每个元素后面添加一个/,并得到结果 mydf 结果 rowname val1 val2 val3 1 0/0 1/0/0 1/1/1 2 0/1 1/1 1/1 3 0/0 0/1 0/1 只需在每一列上应用以下逻辑即可 gsub("(.)(?=.)", "\\1/", x, per
mydf
的数据帧。我想在每列中的每个元素后面添加一个/
,并得到结果
mydf
结果
rowname val1 val2 val3
1 0/0 1/0/0 1/1/1
2 0/1 1/1 1/1
3 0/0 0/1 0/1
只需在每一列上应用以下逻辑即可
gsub("(.)(?=.)", "\\1/", x, perl=TRUE)
只需在每列上应用以下逻辑即可
gsub("(.)(?=.)", "\\1/", x, perl=TRUE)
我们可以使用
lappy
循环“val”列,并使用gsub
使用regex查找模式,并替换为/
mydf[-1] <- lapply(mydf[-1], function(x)
gsub('(?<=\\d)(?=\\d)', '/', x, perl=TRUE))
mydf
# rowname val1 val2 val3
# 1 1 0/0 1/0/0 1/1/1
# 2 2 0/1 1/1 1/1
# 3 3 0/0 0/1 0/1
mydf[-1]我们可以使用lappy
循环“val”列,并使用gsub
使用regex查找模式,并替换为/
mydf[-1] <- lapply(mydf[-1], function(x)
gsub('(?<=\\d)(?=\\d)', '/', x, perl=TRUE))
mydf
# rowname val1 val2 val3
# 1 1 0/0 1/0/0 1/1/1
# 2 2 0/1 1/1 1/1
# 3 3 0/0 0/1 0/1
mydf[-1]谢谢,但是为什么我要以列表的形式获取它?@MAPK我将以data.frame
的形式获取输出,并使用我使用的数据集更新。谢谢,但是为什么我要以列表的形式获取它呢?@MAPK我将以data.frame
的形式获取输出,并使用我使用的数据集更新。