使用不同长度的 tidyr 拆分列
Split column with tidyr with different lenghts
我想用tidyr分开一列来提取年级。该列如下所示:
School.Name
School A ES
SchoolB MS
没有标准的学校命名方式,所以当我使用单独的
separate(DF, School.Name,c("School.Name","Number","Grade Level")
我明白了
School.Name Number Grade Level
School A ES
SchoolB MS NA
有没有办法告诉 tidyr 从右而不是从左阅读
尝试?separate
:
separate(DF, School.name, c("School.Name","Number","Grade Level"), fill = "left")
然后你得到如下结果:
School.Name Number Grade Level
1 school A ES
2 <NA> schoolB MS
编辑:
参数fill
控制分隔字符大小与列大小不匹配时,可选warn, right, left.
- 案例 1:分隔字符大小
<
列大小
例如
"schoolB MS" to C("A", "B", "C"), fill = "left" : <NA> schoolB MS
"schoolB MS" to C("A", "B", "C"), fill = "right" : schoolB MS <NA>
- 情况 2:分隔字符大小
>
列大小
例如
"schoolB MS" to C("A"), fill = "warn" : schoolB #default drop extra from the right
我想用tidyr分开一列来提取年级。该列如下所示:
School.Name
School A ES
SchoolB MS
没有标准的学校命名方式,所以当我使用单独的
separate(DF, School.Name,c("School.Name","Number","Grade Level")
我明白了
School.Name Number Grade Level
School A ES
SchoolB MS NA
有没有办法告诉 tidyr 从右而不是从左阅读
尝试?separate
:
separate(DF, School.name, c("School.Name","Number","Grade Level"), fill = "left")
然后你得到如下结果:
School.Name Number Grade Level
1 school A ES
2 <NA> schoolB MS
编辑:
参数fill
控制分隔字符大小与列大小不匹配时,可选warn, right, left.
- 案例 1:分隔字符大小
<
列大小
例如
"schoolB MS" to C("A", "B", "C"), fill = "left" : <NA> schoolB MS
"schoolB MS" to C("A", "B", "C"), fill = "right" : schoolB MS <NA>
- 情况 2:分隔字符大小
>
列大小
例如
"schoolB MS" to C("A"), fill = "warn" : schoolB #default drop extra from the right