2016-10-13 84 views
0

我想要用tidyr分隔列以提取等級等級。列如下:與不同等級的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從右側讀取,而不是從左側讀取

+0

@ HubertL-對不起,意思是從右到左 – user12081

回答

2

嘗試?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. 情況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