HaoGuang's Blog

have fun

MySQL和MariaDB创建和操作表

MySQL和MariaDB用命令行创建表和操作表。 创建表 创建表customers 三个字段:cust_id、cust_name、cust_city cust_id类型为整型,不能为空,自增值 cust_name为varchar,不能为空 cust_country,设置默认值为&rdquo

MySQL数据库和表的操作

MySQL和MariaDB的数据库和表的常规操作。 用mycli连接数据库 如果使用windows的Power Shell或者cmd来运行mycli,而且数据库的编码是utf8的话,在终端输入如下命令: chcp 65001 安装mycli,详见官网。 pip install mycli 连接数据库: mycli -h db4free.net -u <username> -p<password> 显示所有数据库 mysql> show databases +--------------------+ |

R语言扩展包的基本操作

加载扩展包 library(ggplot2) require(blogdown, quietly = TRUE) ## Warning: package 'blogdown' was built under R version 3.4.4 取消加载扩展包 detach(name = "package:ggplot2") 删除已安装的扩展包 remove. packages(c("pkg1","pkg2") , lib = file .path("path", "to", "library")) 获取扩展包的帮助文档 help(package = "ggplot2")

把R语言的dplyr语句转化成sql语句

之前看到过一个可以将dplyr语句转化成sql语句的扩展包,搜索了一下,找到了,是dbplyr,看名字就知道它是什么家伙了。 把dplyr语句转化成sql语句 测试一下: library(DBI) library(RMariaDB) library(tidyverse) library(dbplyr) con <- dbConnect(RMariaDB::MariaDB(), dbname = "krupdb", port=3306, host = "db4free.net", user = "username", password = "password") df.log <- dbGetQuery(con, "select user, logdate from log") df.log$logdate <- as.Date(df.log$logdate) df.log %>% head # 需要把数据转化成mysql类型 df.log.sql <- dplyr::copy_to(con, df.log) class(df.log.sql) [1] "tbl_dbi"

nba历年球队比赛得分分布

其实现在很少真正去看nba比赛了,因为人称东艾西科南麦北卡的年代已经过去了,不过打开电脑还是不时的第一时间打开nba网页看看新闻,有种感觉就是看现在的比分,发现很多都是120+,130+的比分,就算是季后赛也如此,所以一直很想对比一下,究竟Jordan年代的比分是否跟现在有明显差

sql提取7天留存率数据

目标 用sql提取7天留存数据(此处7天留存率定义为如果客户在1日注册,在2日至7日存在登录行为的客户被定义为留存客户)。 数据表 用mysql创建了一个tysql数据库,有两个表,reg表是用户注册表,log表是用户登录表。 reg表结构 SELECT * FROM `reg` +----+------+---------------------+ | id | user | regdate | +----+------+---------------------+ | 0 | nn1 | 2018-04-01 00:00:00 | | 1 |

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