重新排序Dataframe R的列中的所有字符串

时间:2018-06-13 14:06:38

标签: r regex dataframe tibble

我试图在数据框中为列中的所有值重新排序字符串。

我有以下价值观:

F123/1K
F234/2Q
F678/8W

我希望它看起来像:

K1231
Q2342
W6788

有没有办法一次性更改所有字符串,而不是在循环中单独执行每个字符串的原始方式?

非常感谢任何协助。

1 个答案:

答案 0 :(得分:2)

我们可以使用sub将模式捕获为一个组,然后重新安排替换中捕获的组的反向引用

sub("^.(.{3}).(.)(.)", "\\3\\1\\2", df1$col)
#[1] "K1231" "Q2342" "W6788"

数据

df1 <- structure(list(col = c("F123/1K", "F234/2Q", "F678/8W")), 
   .Names = "col", class = "data.frame", row.names = c(NA, -3L))