如果你觉得R只是用来科研的工具,那就太辜负广大开发者的良苦用心了。今天给大家介绍几个useless但fun的的R包,为大家工作学习之余提供一点微不足道的小乐趣。
All work and no play makes jack a dull boy.
话不多说,游戏开始。
1.Fun包(Github地址为:GitHub - yihui/fun: Use R for Fun)
安装加载包
## install.packages('fun')
library(fun)
绘制中国心(2D版)
demo(ChinaHeart2D)
绘制中国心(3D版)
demo(ChinaHeart3D)
绘制乌龟
demo('RealTurtle', package = 'fun')
开启一个扫雷小游戏
if (.Platform$OS.type == "windows") x11() else x11(type = "Xlib")
mine_sweeper()
或者,玩个五子棋
gomoku()
2.Cowsay包
## install.packages("cowsay")
library(cowsay)
say("Hello world!")
很可爱,但我以为会有一头奶牛!
say("Moo may represent an idea, but only the cow knows.\n --Mason Cooley",
by = "cow")
虽然没有随机选择动物的选项,但我们可以自己轻松实现。
someone_say_hello <- function() {
animal <- sample(names(animals), 1)
say(paste("Hello, I'm a ", animal, ".", collapse = ""), by = animal)
}
someone_say_hello()
随机选择动物。
someone_say_hello <- function() {
animal <- sample(names(animals), 1)
say(paste("Hello, I'm a ", animal, ".", collapse = ""), by = animal)
}
someone_say_hello()
3. fortunes包
fortunes() 返回一个引文或幸运语录数据框,每行包含了:
quote | 引文,祝福语或语录的主要部分 |
author | 引文作者 |
context | 引用的上下文 (if available, otherwise NA), |
source | 引用来源 (if available, otherwise NA), |
date | 引用日期 (if available, otherwise NA). |
接下来我们看个示例。
#install.packages("fortunes") #未安装的需要安装哦
library(fortunes)
fortune()
fortunes包还支持自定义礼物库,你可以使用它为家人、朋友、恋人,甚至陌生人制作礼物。
quote<- c(
"请和窗外的星星道声晚安吧,脱下围裙的鹅妈妈。",
"请不要忘记永无岛的孩子们,长不大的彼得潘。",
"请你驯养我吧,拥有麦浪般金色头发的小王子。"
)
author<- rep ("你陌生的朋友", 3)
context<- rep (NA, 3)
source<- rep (NA, 3)
date<- c ("2024.08.31", "2024.09.01", "2024.09.02")
# 数据集内容如上
fortunes.data<- data.frame (quote, author, context, source, date, stringsAsFactors =FALSE)
# 保证变量类型为character
fortune(fortunes.data= fortunes.data)
将fortune与cowsay包结合.
someone_say_my_fortune <- function(x) {
animal <- animal <- sample(names(animals), 1)
say(paste(fortune(), collapse = "\n"), by = animal)
}
someone_say_my_fortune()
References:
https://www.r-bloggers.com/2016/06/useless-but-fun-r-packages/