Monthly Archives: October 2020

连续数据和离散数据

连续数据和离散数据在如今的机器学习当中非常常见,作为一个非专科的人,如果只是奔着如何去使用相关的机器学习框架,到可以简单了解即可使用。而如果想要深入了解,还得下一番功夫来补习一下相关的功课。

文章内容是我的学习笔记,既然是学习笔记所以主观意识就比较强烈,内容在写这篇文章的时候不一定正确。

统计学中,将一种类型的数据总称为变量,而变量的数据称为观测,而变量的具体取值为观测值,比如下面的数据中,age和name都是变量,而18和’大红’都具体的取值被称为观测值。

age,name
18,’大红’
21,’小花’

同理,在统计学中,离散数据也被称为离散变量,连续数据也被称为连续变量,而如何区分两种变量的区别?

连续变量可以理解为取值范围在理论上是连续不断的,而离散变量则可以理解为取值范围是间断不连续的,他们之间的区别并无数量之分,都是无穷个。

比如家庭数量人口只有1、2、3、4个人口,不可能为1.2、1.8、2.4这样来表示人口,所以家庭人口是离散变量。

而年龄取值上通常为了方便而说是18岁、17岁、30岁,但是如果按照实际取值,则可以取为18.32、17.55、30.67岁,17.55岁则表示年龄为17岁6个月18天,而且出生的时间还可以精确到小时、分、秒等单位,所以年龄为连续变量。

参考资料

  1. 关于连续和离散的理解
  2. 定量和定性变量、连续和离散变量,到底怎么分?
  3. 图解概率笔记:葉丙成概率公开课

R语言安装tidyverse

最近因为使用R时载入的数据量非常大,而工作机内存仅仅只有16G,而添加内存在工作机上会导致资源的浪费,因为自己并不是每次都会使用到如此大的内存,所以就琢磨着组装了一台配置较好的机器,并使用了Ubuntu系统和RstudioServer,每个人都可以开通一个账号来共享这台机器的资源。

但是问题随之而来,在Windows上使用Rstudio安装包几乎没有出现什么问题,但是Linux上则需要手动安装许多的包,所以这里就记录一下。

报错1
ERROR: dependencies ‘httr’, ‘rvest’, ‘xml2’ are not available for package ‘tidyverse’

解决方法:

apt install libxml2-dev
报错2
ERROR: dependency ‘openssl’ is not available for package ‘httr’

解决方法:

apt install libssl-dev 

在解决报错2的时候,可能会出现如下兼容性报错:

libssl-dev : Depends: libssl1.1 (= 1.1.1-1ubuntu2.1~18.04.6) but 1.1.1f-1ubuntu2 is to be installed

可以按照下列的命令安装相应对应的包:

apt install libssl1.1=1.1.1-1ubuntu2.1~18.04.6

参考文档

  1. tidyverse Issues
  2. libssl-dev

R语言连接数据库

最近使用Rstudio Server从数据库获取数据次数越来越多,期间也涉及到了Mysql、SQL server数据库,并且在安装过程中也出现了很多的问题,这里做一个记录和总结,本文为笔记,并不是相关的教程,请见谅。

Mysql/MariaDB

连接mysql和MariaDB数据库可以使用的包有两个,分别为"RMySQL"和"RMariaDB",因为MariaDB数据库是完全兼容mysql,所以这两个包是通用mysql和MariaDB数据库。

而目前通过"RMySQL"包的Github作者介绍,该包将逐渐被"RMariaDB"包被淘汰,所以在安装的时候尽量使用"RMariaDB"来连接mysql。

使用下面的命令来安装这两个包:

install.packages('RMariaDB')

install.packages('RMySQL')

如果安装过程中报错提示如下:

-----------------------------[ ANTICONF ]-----------------------------
Configure could not find suitable mysql/mariadb client library. Try installing:
 * deb: libmariadbclient-dev | libmariadb-client-lgpl-dev (Debian, Ubuntu)
 * rpm: mariadb-connector-c-devel | mariadb-devel | mysql-devel (Fedora, CentOS, RHEL)
 * csw: mysql56_dev (Solaris)
 * brew: mariadb-connector-c (OSX)
If you already have a mysql client library installed, verify that either
mariadb_config or mysql_config is on your PATH. If these are unavailable
you can also set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------[ ERROR MESSAGE ]----------------------------
<stdin>:1:10: fatal error: mysql.h: No such file or directory
compilation terminated.
-----------------------------------------------------------------------

则可以根据提示安装相应系统的包

apt install libmariadbclient-dev

然后使用下列命令建立连接

library("RMariaDB")
myConn = dbConnect(MariaDB(), dbname = 'testdb', host = '127.0.0.1',
                            user = 'root', password = 'password')

Continue reading