2016-10-13 12 views
0

階級を抽出するために、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 

を取得する方法はありますあなたは左からそうではなく右から読むように教えてください。

+0

@ HubertL-右から左を意味する – user12081

答えて

2

try ?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 

EDIT:

パラメータwarn, right, left.

  1. オプションの区切り文字サイズが列のサイズと一致していませんfill制御し、ケース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