如何根据值将一列拆分为多列(R中的规范化)
我在一个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平方米 是否有允许此功能的内置功能或软件包
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