如何根据值将一列拆分为多列(R中的规范化)

如何根据值将一列拆分为多列(R中的规范化),r,dataframe,normalization,R,Dataframe,Normalization,我在一个R数据框中有一列值,其中包含一个教师课程等级资格认证代码。示例如下: 资格认证代码 200-N137-P-2 200-N136-P-3 200-N136-P-2 200-N135-V-1 300-G112-M-2 我想要的是使用R将资格认证代码拆分为单独的教员/课程/校园/级别列,即理想情况下,我希望得到以下结果: 学院计划校园年度水平 200 N137 P2 200 N136 p3 200 N136 P2 200 N135伏1 300 G112平方米 是否有允许此功能的内置功能或软件包

我在一个R数据框中有一列值,其中包含一个教师课程等级资格认证代码。示例如下:

资格认证代码
200-N137-P-2
200-N136-P-3
200-N136-P-2
200-N135-V-1
300-G112-M-2

我想要的是使用R将资格认证代码拆分为单独的教员/课程/校园/级别列,即理想情况下,我希望得到以下结果:

学院计划校园年度水平
200 N137 P2
200 N136 p3
200 N136 P2
200 N135伏1
300 G112平方米


是否有允许此功能的内置功能或软件包?我曾尝试使用RSQLite实现这一点,但我的SQL技能还相当落后(我是数据科学的一年级新生,几乎没有编码经验)。感谢您的帮助。

使用
strsplit

res <- setNames(do.call(rbind.data.frame, 
        strsplit(dat$Qualification_Code, "-")),
        c("Faculty", "Program", "Campus", "YearLevel"))
res
#   Faculty Program Campus YearLevel
# 1     200    N137      P         2
# 2     200    N136      P         3
# 3     200    N136      P         2
# 4     200    N135      V         1
# 5     300    G112      M         2

res使用
read.table

read.table(text = df$Qualification_Code, sep = "-",
           col.names = c("Faculty", "Program", "Campus", "YearLevel"))

#   Faculty Program Campus YearLevel
# 1     200    N137      P         2
# 2     200    N136      P         3
# 3     200    N136      P         2
# 4     200    N135      V         1
# 5     300    G112      M         2
read.table(text = df$Qualification_Code, sep = "-",
           col.names = c("Faculty", "Program", "Campus", "YearLevel"))

#   Faculty Program Campus YearLevel
# 1     200    N137      P         2
# 2     200    N136      P         3
# 3     200    N136      P         2
# 4     200    N135      V         1
# 5     300    G112      M         2