张金龙的博客分享 http://blog.sciencenet.cn/u/zjlcas 物种适应性、分布与进化

博文

plantlist程序包已经恢复从Rforge下载或安装

已有 4819 次阅读 2017-4-11 00:01 |个人分类:科研笔记|系统分类:科研笔记|关键词:学者

完整文档请参考  http://blog.sciencenet.cn/blog-255662-846673.html



R程序包plantlist可以批量查询高等植物的APG科属、科编号以及学名在ThePlantList网站数据库中的接受状态及对应接受名等。速度快过taxize等同类程序包10倍左右,函数参数便于理解,简单易用。除了从github/helixcn安装外,现在已恢复从Rforge安装。plantlist是本人在2014年1月在中科院昆明植物研究所主讲R语言课程时编写的,主要用来辅助进行系统发育多样性研究以及方便标本馆管理。


随着R软件的不断升级, plantlist程序包旧版本中的一些编码问题逐渐暴露。 特别是内置接受名和异名数据库中,命名人中出现的非ASCII字符在转换过程中会出错, 这个错误甚至导致Rforge上 (https://r-forge.r-project.org/R/?group_id=2052)plantlist程序包不能成功编译为windows版本。


正巧北京大学池秀莲老师咨询如何安装plantlist的问题,于是决定解决这一问题。


非ASCII字符不能成功转换, 目前似乎只有两种方法:
1. 去掉非ASCII字符,或者用近似的字母代替原来的字母。

StackOverFlow上Wickham提出的一个解决方案, 举例如下:

x <- c("Ekstru00f8m", "Ju00f6reskog", "biu00dfchen Zu00fcrcher")
x
#> [1] "Ekstrøm"         "Jöreskog"        "bißchen Zürcher"

stringi::stri_trans_general(x, "latin-ascii")
#> [1] "Ekstrom"          "Joreskog"         "bisschen Zurcher"

2. 用UTF编码的转义字符。
未能查到从GB2312或者GB18030转换为UTF8字符的算法。 但是有一种方式可以实现的。 那就是使用 openxlsx程序包先将字符以xlsx格式保存在Excel文件中, 保存后用read.xlsx读取, 生成了UTF8转义字符串。 经过转换后的字符串可以在R程序包中正常处理了。






https://m.sciencenet.cn/blog-255662-1048042.html

上一篇:怀念老姑
下一篇:用exiftool一次为多个文件夹下的照片添加经纬度

2 谢强 王谢

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-10-4 14:35

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部