[問題] 中文字轉成數字

作者: clansoda (小笨)   2016-02-16 19:00:16
[軟體熟悉度]:
請把以下不需要的部份刪除
新手(沒寫過程式,R 是我的第一次)
[問題敘述]
不好意思我又來了,這次遇到的問題是
假設像是這次大地震發生,可能就會記錄樓層,可是外面key的資料很可能是中文的
資料形式可能長這樣
row number 住戶住的樓層
1 五樓
2 三樓
3 二十樓
4 九樓
5 十一樓
可是這樣的文字沒辦法做分析,所以我想把五樓轉成5,三樓轉成3,二十樓當然就是20
我想的寫法是先substr(住戶的樓層,1,住戶的樓層-1),這樣應該可以得到一個col
裡面是五、三、二十、九跟十一,我遇到的第一個問題是在sas裡面用length會是
格子裡面的長度,像是length(住戶住的樓層),這裡就會變成2,2,3,2,3這樣的感覺
R裡面的length是用來表達向量的長度所以我用length(樓層)就會變成5,那我該如何表達
我想要格子裡面的文字長度-1呢?
第二個問題是我用if (住戶的樓層=="五") {新的var<-5}
這樣的方式可是if只能接受true跟false而不能是向量的logical
所以我轉用ifelse這個函數,ifelse(住戶的樓層=="五",新的var<-5,新的var<-Null)
很明顯地這個是錯的,但是到這邊我已經毫無頭緒,不知道該如何進行
想請問有甚麼方法或package可以解決這個問題。感謝各位
[程式範例]:
張貼能夠重現錯誤的程式碼,可以幫助版友更快的幫你解決問題
建立重現錯誤的方法可以參考:
作者: celestialgod (天)   2016-02-16 19:27:00
二:用plyr:::mapvalues一:用nchar
作者: clansoda (小笨)   2016-02-16 20:24:00
感謝大大,兩個function我都會用了
作者: memphis (讓你喜歡這世界~)   2016-02-17 17:56:00
中文看起來超噁的..我還沒有親自處理過中文資料

Links booklink

Contact Us: admin [ a t ] ucptt.com