我有一个数据集,其中的数据应该被放入三个不同的列中,但是它们都被放在了一列中。我希望通过反斜杠将其分成三个列,并且每个分割字符串必须包括一个字符前缀和一个字符后缀。字符前缀只在字符串的第一部分出现,字符后缀只在字符串结尾处出现。
例如"PC211/212.5(C)/664F"具有前缀“PC”和后缀“F”。前缀总是两个字母,后缀总是一个字母,并且它们总是字符。前缀总是跟随着数字代码,后缀总是在数字或右括号之前出现。
我的数据在一个非常大的数据框中,所以我想通过按列调用它来分开处理。这里有一个可重复使用的子集示例:
例如"PC211/212.5(C)/664F"具有前缀“PC”和后缀“F”。前缀总是两个字母,后缀总是一个字母,并且它们总是字符。前缀总是跟随着数字代码,后缀总是在数字或右括号之前出现。
我的数据在一个非常大的数据框中,所以我想通过按列调用它来分开处理。这里有一个可重复使用的子集示例:
df <- data.frame("code" = c("PC211/212.5(C)/664F", "VC23152(A)/23550F", "PC459/460(B)M", "PC187(A)/664F"), stringsAsFactors = FALSE)
我希望你能够返回类似以下的内容:
df_id_like <- data.frame("code" = c("PC211/212.5(C)/664F", "VC23152(A)/23550F", "PC459/460(B)M", "PC187(A)/664F"),
"code_1" = c("PC211F", "VC23152(A)F", "PC459M", "PC187F"),
"code_2" = c("212.5(C)F", "VC23550F", "PC460(B)M", "PC664F"),
"code_3" = c("PC664F", NA, NA, NA),
stringsAsFactors = FALSE)
我认为这个问题可能需要正则表达式,但完全接受不需要正则表达式的解决方案!
code_2
除外。 - andrew_reeceseparate
调用更复杂。我正在研究它... - Maurits Evers