HaoGuang's Blog

have fun

blogdown中Rmarkdown和Rmd不同扩展名不同作用

弄blogdown有一段时间,一直有两个疑问: 为什么Addins/New Post下方会有Rmd和Rmarkdown两个扩展名选择? 为什么Rmd文档生成的是html?而不生成md文档呢?(因为我一直都是只用Rmd扩展名,有短的为什么要用长的呢?我连探索这个都没有勇气吗?-_-!)h

data.table笔记

构建测试数据 examdf <- data.frame(id = c(1,2,3,4,5,6,7,8,9), name = c("Jordan", "Kobe", "T-Mac", "Duncan", "Garnet", "Iverson", "Dwade", "CP3", "Bird"), team = c("SG", "SG", "SF", "PF", "PF", "SG", "PG", "PG", "SF"), num = c(23, 24, 1, 21, 21, 3, 3, 3, 33 ), score = c(1, 2, 3, 4, 5, 6, 7, 8, 9), stringsAsFactors = FALSE) examdf ## id name team num score ## 1 1 Jordan SG 23 1 ## 2 2 Kobe SG 24 2 ## 3 3 T-Mac SF 1 3 ## 4 4 Duncan PF 21 4 ## 5 5 Garnet PF 21 5 ## 6 6 Iverson SG 3 6 ## 7 7 Dwade PG 3 7 ## 8 8 CP3 PG 3 8 ## 9 9 Bird SF 33 9 tidyverse、d

一列含多分类的哑变量处理

问题描述 最近在天池找了个数据挖掘竞赛题目玩了一下,发现有一列数据形如:<分类1>;<分类2>,有一列是固定两个分类,有一个是有多个分类,而且是不定长的,固定长度的应该来说还是容易处理,不定长的就感觉有点难。我猜应该要把他们分离出来,然后再做哑变量处理,然后

filter one column max by group with data.table

目标 提取每个月最大日期的行。 数据结构 testdf <- data.frame(d = c("2017-01-01", "2017-01-30", "2017-02-02", "2017-02-10"), v = c("A", "B", "C", "D")) testdf$d <- as.Date(testdf$d) testdf$month <- lubridate::month(testdf$d) testdf ## d v month ## 1 2017-01-01 A 1 ## 2 2017-01-30 B 1 ## 3 2017-02-02 C 2 ## 4 2017-02-10 D 2 tidyverse testdf %>% group_by(month) %>% dplyr::filter(d == max(d)) ## # A tibble: 2 x 3 ## # Groups: month [2] ## d v month ## <date> <fct> <dbl> ## 1 2017-01-30 B 1. ## 2 2017-02-10 D 2. plyr::ddply plyr::ddply(testdf, "month", subset, d == max(d)) ## d v month ## 1 2017-01-30 B 1 ## 2 2017-02-10 D 2 data.table 方法一 setDT(testdf) testdf[, .SD[ d == max(d) ], by = month] ## month d v

学做雷达图

数据 library(tidyverse) library(scales) library(showtext) showtext_auto() df <- data.frame(语文 = c(50, 60, 70, 90), 姓名 = c("A", "B", "C", "D"), 数学 = c(55, 60, 80, 90), 英语 = c(80, 60, 70, 77)) df ## 语文 姓名 数学 英语 ## 1 50 A 55 80 ## 2 60 B 60 60 ## 3 70 C 80 70 ## 4 90 D 90 77 用ggradar::ggradar()做雷达图 ggradar用的是ggplot2做图。 df.new <- df %>% mutate_if(is.numeric, rescale) %>% select(姓名

打开模块DevicePowerOn电源失败

问题 重装vmware后,打开以前的虚拟机,出现下面的错误打开模块DevicePowerOn电源失败: 无法打开内核设备“\\.\VMCIDev\VMX”: 重叠 I/O 操作在进行中。 你想要在安装 VMware Workstation 前重启吗?打开模块DevicePowerOn电源失败。 无法打开虚拟机。 解决办法 安装服务3、磁

using kableExtra in rticles ctex template

问题 kableExtra包是knitr::kable的一个非常好的扩展。不过用rticles的ctex模板调用了kableExtra::kable_styling 再生成pdf时发现出现下面这样的错误: kableExtra LaTeX Error: Unknown float option `H'. 解决方法 在rmd文件的同一目录下创建header.tex文件,输入

重装Win10后设置tinytex

今天重装了系统Win10,然后重装Rstudio,又安装tinytex,然后: tinytex::install_tinytex() 死活连接不上ctan下载那个zip文件,由于重装系统前已经把tinytex文件夹备份了,我想应该直接重新设置一下路径就可以了吧,于是把tinytex文件夹复制到了c:根目录,尝试: C:\tinytex\bin> .\win32\tlmgr path add 出现下面错误

用processing画了个S

简介 最近有朋友叫我帮忙设计个logo,晕,我都不是搞设计的,怎么设计logo,她就叫我从几幅图里面各取一部分特点合成一幅图,其中有一个字母S的形状大概如下图所示,虽然自己也能用photoshop晚一些移花接木的小玩意,或者用lightroom将数码照片做一些润色,但是设计logo

lightGBM安装成功

lightGBM的安装 环境 win10 R version 3.4.3 (2017-11-30) – “Kite-Eating Tree” Platform: x86_64-w64-mingw32/x64 (64-bit) Microsoft Visual Studio Community 2017 Microsoft Visual C++ 2017 (猜测需要) Visual Studio Tools for CMake (猜测需要) 在用VS打开\LightGBM\windows项目的时候,VS提示安装一些组件,不确定是哪些组件。 cmake 64bit Rtools 64bit 系统环境变量PATH C:\RBuildTools\3.4\bin C:\Program Files\CMake\bin C:\Program Files\R\R-3.4.3\bin 其实CMake和VS不知道是否二选一。 安装 方

RMySQL使用方法以及中文乱码问题

连接MySql #install.packages("RMySQL") library(RMySQL) drv <- dbDriver("MySQL") con <- RMySQL::dbConnect(drv, dbname = "blog", host="127.0.0.1", port=3306, username="root", password="password") dbSendQuery(con,'SET NAMES utf8') res <- RMySQL::dbSendQuery(con,"show variables like 'character_set_%'") dbFetch(res) # 删除所有连接 # lapply(dbListConnections(dbDriver("MySQL")), dbDisconnect) # 查看所有连接 # dbListConnections(dbDriver("MySQL")) 把data.frame数据框数据写入MySql数据库 方法一 测试环境: mysql: 数据库默认编码为:utf8generalci 操作系统:win10 R: Sys.getlocale() Sys.getlocale() [1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese (Simplified)_China.936;LC_MONETARY=Chinese (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936" 这里自定义了一个函数hg_

用R语言做线性规划求解

简介 本文将对《数据、模型与决策:基于Excel的建模和商务应用》这本书的第10章规划求解的题目使用R语言来进行线性规划求解。 用到了两个用于做线性规划求解的软件包,分别是:Rglpk、Rsymphony。 例题一:生产计划问题 在本例中,将使用Rglpk包来进行规划求解。 Rglpk简介

R语言带三个点参数的函数怎么写

问题 在R里面很多函数中参数处都是显示三个点的,怎么写这样的函数呢? 看了很多R语言的书貌似都没有详细介绍这一个,终于今天去图书馆的时候看到有一本书简单介绍了一下这三个点的参数的应用,主要是在A函数中调用B函数,而B函数的参数又要通过A函数来传递。 例子一 funA <- function(a1 = 2, a2 = 2) { return(sum(a1, a2)) } funB <- function(b1

rmarkdown中使用python

目标 在Rstudio的rmarkdown中调用python并执行python代码。 使用方法 全局 ```{r setup} library(knitr) opts_chunk$set(engine.path = '/usr/bin/python3') ``` 局部chunk ```{python} import sys print(sys.version) ``` 指定python版本 ```{python, engine.path = '/usr/bin/python3'} import sys print(sys.version) ``` 参考链接 https://stackoverflow.com/questions/39069158/how-can-i-specify-rmarkdown-to-use-python3-instead-python-2 https://www.jianshu.com/p/05dc80e104c3 http://rpubs.com/badbye/python-knitr

another toc solution for blogdown fixing the pure Chinese issue

简介 本文记录为R语言软件包blogdown增加另外一个生成toc的方法,修改自网上的一段代码。 我也把它放到了github,有相同需求的朋友也可以拿去用。 问题描述 用blogdown自带的生成toc功能发现如果headline全部是中文,toc目录就没有生成链接,toc就不能跳转,r

关于debian stretch出现hash sum mismatch错误

问题描述 在debian docker里面安装default-jdk的时候出现错误,大概就是说下载下来的文件的md5和预期的不一致,导致安装不成功。 错误关键信息: hash sum mismatch 解决办法 首先尝试了下面的代码: apt-get clean rm -rf /var/lib/apt/lists/* apt-get clean apt-get update apt-get upgrade 无果,再尝试: 创建文件:/etc/apt/apt.conf.d/

笔记-神经网络-代码本色

简介 最近看了一本书,中文名是《代码本色–用编程模拟自然系统》,英文名是《The Nature of Code》,作者是纽约大学Tisch艺术学院艺术教授Daniel Shiffman,可以访问作者网站获取更多有趣的信息。 该书用processing语言(作者也用其他语言做了相同的事情,可以

用R语言实现Excel中的数据透视表功能

前言 对于像我这种R语言刚入门的选手,虽然对Excel的各种操作还是蛮熟悉,但是想用R语言处理数据就像用Excel那么出神入化,还是花了不少时间去学了哈德利大神的tidyverse包,实际上tidyverse包是’tidyverse’,’tidy

用ggplot2对数学函数进行画图

前言 学了一段时间的R和ggplot2,一直很想知道书中那些正态分布图两侧的拒绝域是怎么填充颜色的,找到这篇文章Creating plots in R using ggplot2 - part 9: function plots之后才理清了思路。 基础正态分布曲线 首先我们一个ggplot基础layer,x轴范围在[-4, 4](当然你可以设置任何你想设置的

去掉firefox书签工具栏的图标

问题描述 书签工具栏收藏的书签太多了,分类就有二十多个的分类,就算把firefox全屏,都放不下全部的书签,要点后面的箭头才能打开一些隐藏在后面的书签。 把前面的图标就可以节省大部分的空间了,那么怎么才能去掉前面的文件夹图标呢? 解决方法 编辑文件(如果没有就创建一个): linux: ~/.mozilla/firefox/<*******>.default/chrome/userChrome.css win10: %APPDATA%\Roaming\Mozilla\Firefox\Profiles\<******>.default 在适当位