HaoGuang's Blog

have fun

RSelenium Chrome切换窗口

因为一直用的是firefox的浏览器,所以玩RSelenium的时候也是优先选择firefox,但是发现测试切换窗口的时候,总是切换不了,getFirefoxProfile也出现错误: profile = RSelenium::getFirefoxProfile("C:/Users/krup/AppData/Roaming/Mozilla/Firefox/Profiles/uew2kgfm.default", TRUE) Error in file(tmpfile, "rb") : cannot open the connection In addition: There were 14 warnings (use warnings() to see them) 貌似网上都是用chrome,于是尝试一下,切换窗

firefox无法连接到i-guangdong

不知道为什么有时在firefox下无法打开连接i-guangdong wifi之后的登录网页,虽然chromium也是提示不安全,但是可以点击advance继续打开,firefox貌似不行。 针对错误信息: 的管理员没有正确配置好此网站。为避免您的信息失窃,Firefox 并未与此网站建

修复manjaro启动问题

前不久升级了manjaro系统,关机后就没用了,最近想进入该系统,发现进不了,出现下面错误: error: device uuid=“000000000000000” not found. Skipping fsck. 如下图所示: 开头还震惊了一下,不会是硬盘分区坏了吧?搜索了一下,知道可能是启动模块的问题,才镇定下来,用manjaro livecd进入了系统发现正常检测到manjaro系统盘

修复win10在grub2中的启动项

最近升级了Manjaro,关机后都没用Manjaro,而一直在用win10,后来想进入manjaro,发现进入不了,修复后,发现grub2启动项不见了win10的启动项,于是要把它修复修复,在百度上搜索了一下关键字grub2 win10,貌似没有什么是真正有用的,有些描述也不够详细

用R语言对矩阵单位正交化

用R语言写了个函数对矩阵单位正交化。 zj <- function(m) { a <- m b <- a * 0 b[,1] <- a[,1] tmp.sum <- a * 0 for(j in 2:ncol(a)) { tmp <- 0 for(k in 1:(j-1)) { temp <- sum(a[,j]*b[,k])/sum(b[,k]*b[,k])*b[,k] tmp <- tmp + temp } b[, j] <- a[, j] - tmp } b } m_col_unit <- function(m) { rst <- m*0 for(i in 1:ncol(m)){ for(j in 1:nrow(m)) { rst[j, i] <- m[j, i]/sqrt(sum(m[, i]*m[, i])) } } rst } zj_unit <- function(m) { m <- zj(m) m_col_unit(m) } # 验证 tt <- matrix(c(1,1,0, 1,0,1, 0,1,1), nrow = 3) zj(tt) ## [,1] [,2] [,3] ## [1,] 1 0.5 -0.6666667 ## [2,] 1 -0.5 0.6666667 ## [3,] 0 1.0 0.6666667 zj_unit(tt) ## [,1] [,2] [,3] ## [1,]

R语言排列组合计算

R语言的排列组合计算。 列出排列数 gtools::permutations(5, 2) ## [,1] [,2] ## [1,] 1 2 ## [2,] 1 3 ## [3,] 1 4 ## [4,] 1 5 ## [5,] 2 1 ## [6,] 2 3 ## [7,] 2 4 ## [8,] 2 5 ## [9,] 3 1 ## [10,] 3 2 ## [11,] 3 4 ## [12,] 3 5 ## [13,] 4 1 ## [14,] 4 2 ## [15,] 4 3 ## [16,] 4 5 ## [17,] 5 1 ## [18,] 5 2 ## [19,] 5 3 ## [20,] 5 4 列出组合数 gtools::combinations(5, 2) ## [,1] [,2] ## [1,] 1 2 ## [2,] 1 3 ## [3,] 1 4 ## [4,] 1 5 ## [5,] 2 3 ## [6,] 2 4 ## [7,] 2 5 ##

MySQL和MariaDB创建和操作表

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

MySQL和MariaDB的约束

MySQL和MariaDB的约束一共有如下几种: 主键 外键 唯一约束 非空约束 检查约束 主键 适合做主键的条件 满足以下几个条件的字段适合用于主键: 每行的值唯一 没有空值行,非空 日后不需要修改 某行被删除,主键值不再复用 创建主键 方式一 DROP TABLE IF EXISTS testTable; CREATE TABLE testTable ( t_id int PRIMARY KEY, t_name VARCHAR(50) ); 用show查看 show create table testtable +-----------+--------------------------------------+ | Table |

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"

win10 cmd工具使用utf8字符集

在win10下用mycli连接mysql,发现查询出来的中文乱码,后来知道原来是win10的cmd工具不支持utf8,又搜索了一下,发现可以直接把cmd的编码变成utf8,在cmd下输入: chcp 65001 然后输出结果正常。

mysql笔记-乱

创建和使用数据库 mysql数据类型 MariaDB [(none)]> show character set -> ; +----------+-----------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+-----------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | | dec8 | DEC West European | dec8_swedish_ci | 1 | | cp850 | DOS West European | cp850_general_ci | 1 | | hp8 | HP West European | hp8_english_ci | 1 | | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | swe7 | 7bit Swedish | swe7_swedish_ci | 1 | | ascii | US ASCII | ascii_general_ci | 1 | | ujis | EUC-JP Japanese |

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(姓名