[问题] 中文字转成数字

楼主: 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