sinx: R 语言中文社区火花集锦

来自 Peng Zhao | March 23, 2019

sinx 包是个语录集,默认素材主要来自统计之都,附送唐诗、宋诗、金庸语录、中文名言、英文名言、养生语录……未来也不排除采集其他来源的语录。欢迎大家贡献精彩语录。直接 PR 到项目主页 即可。

此包虽然简单,然而提交到 CRAN 的过程却颇为坎坷,以后有机会再详细说。好在历经千难万险,这个没啥用的包终于在 CRAN 发布了。

sinx

相关链接:缘起讨论

怎么装

if(!require('remotes')) install.packages('remotes')
remotes::install_github('pzhaonet/sinx', build = TRUE, 
                        build_opts = c("--no-resave-data", "--no-manual"))

怎么用

主要函数:

sinx() # 打印一条语录
tanx()  # 小猫小狗说语录
secx() # 把语录做成一本电子书
ctanx() #  往 ~/.Rprofile 里添加一条代码,在 R 启动时随机显示一条语录
read.sinxs() # 读取语录文件
vignette('sinx') # 语录合集

详见各函数的帮助信息,或在线文档。。

例如,我经常需要用下面这一条语录来回答论坛上的提问:

sinx::sinx(1)

## 
## 这个问题我很感兴趣,然而遗憾的是,这个问题我无法重现。
## 
## 能否提供一个可以重现问题的数据和代码示例,让我直接拷贝粘贴就能运行?最好能提供 `session_info()` 信息。
## 
## 提问题的方式详见[新手须知 1.2 正确的发帖姿势](https://d.cosx.org/d/1553-1553)。
##    -- dapengde (耐心温馨欢欣地回答一个不规范的提问)
##       d.cosx.org (2018 年 12 月)

支持字符串搜索,也支持正则表达式:

sinx('不知道')

## 
## 那我就不知道为什么了……
## 
## 
##    -- yihui (<https://d.cosx.org/d/420428/4>)
##       d.cosx.org (2019-01)

值得一提的是,语录文件是可以随意扩展的,只需用 read.sinxs() 一次读入多个文件即可。下面这个例子,将所有自带语录合并进来,随机显示:

libs <- read.sinxs(lib = c("tangshi", "songshi", "chinese", "yangsheng", "english","jinyong"))
tanx(sinxs.data = libs)

有啥用

坦率讲,正常情况下,这个包没啥用。

或者说,fortunes 包有啥用,sinx 就有啥用。sinx 更有用。

我假想了几个使用场景。

例如,在 R 编程无聊的时候,你可以敲一个 sinx::sinx(),随便看一句中文语录。你可以选择显示哪个语库,例如朋友的短信集。

你可以把 sinx::tanx() 插入到代码某个地方,将来运行的时候,会突然出来个小宠物,说了一句曾经熟悉的话。

也可以把它们加到 ~/.Rprofile 里,这样,在 R 启动时随机显示一条语录。我有一次就这么干了,然后在生成一个 R 包时,我惊呆了,原来 R 要重启这么多次!

fortunes 包对我来说最大的用途,就是生成了《学 R》一书各章的卷首引用语。我希望 sinx 将来也在类似的地方大展宏图。

comments powered by Disqus