R语言18讲(三)

我们在做数据分析工作的前提,当然是得有数据,巧妇难为无米之炊,所以数据的获取和产生是非常重要和基础的,然而,在当前互联网时代,信息非常的膨胀,我们获取数据的方式很多,这里简单的将其归为三类,

1,自己输入数据

2,从数据源导入数据

3,从网络上爬取数据.我们按照从易到难,从简单到复杂的方式排列.来讲讲数据的获取.

一,自己输入数据

首先R中的数据类型我们来分个类:

1.按照数据模式分类: 数值型,字符型,逻辑型.

数值型:顾名思义就是数字,如1,2,3等

字符型:就是各种字母和汉字以及符号等,如"a","B","good","好"等

逻辑型:就是真或假,即 TURE ,FLASE.有时候会用0和1代替.

2.按照数据的形式分类:

向量–向量通俗的理解就是一列数据,例如(1,2,3,4,5,23,5,7) 或者("a","c","e","A","aaaaw","good","?")或者 (T,F,T,T,F)我们用C( )创建,括号里写数据就可以,注意字符型要用双引号,或者seq(起始数,终止数,其他参数 )来创建序列向量,rep( 数据,其他参数 )创建重复型的向量.如图:

矩阵–就是我们在操场上做体操,横竖排列.一个点一个数据.我们用matrix(向量数据, 行数, 列数 )创建.

数据框–就像我们的表格,第一行就是每一列的名字,我们称之为字段,或者变量名.那么对应每列下面的数据就叫做记录或 者观测.用data.frame( 字段1,字段2,…. )创建

列表–与数据框类似,区别就是每一列向量类型和长度可以不一致.用list( 字段1, 字段2,….. )创建

数组–其形式就像我们玩的模方,每一个面都是一个矩阵数据,用array(数据,各维度的最大值,各维度的名称)创建

补充:数据框的意外一种创建方式,就像我们在EXCEL做表格里一样,直接自己填写每一格的数据,输入代码后,会出现一个弹出窗口是一个空表格,我们便可以直接在表格里填写数据,非常方便,代码和效果如下:

二.从其他数据源导入数据

目前数据源太多了,数据源的格式也非常之多,幸好R的兼容性非常好,能从各种不同的数据源中获取数据,这里只简单介绍几个比较常用的数据导入方式

1.导入CSV格式数据

read.csv("E:\\课件\\11.csv")引号下面就是你要导入的文件的路径.当如果文件存放R的工作空间时,便可以直接忽略路径,在引号下写出文件名和后缀即可如 read.csv("21.csv")导入其他格式数据也是如此,当没有写路径时,R会默认在工作空间里导入同名文件.

2.导入Excel文件

方法一.安装并加载RODBC包 使用odbcConnectExcel("E:\\课件\\11.csv")但只适用于32位系统的电脑.

方法二.将Excel文件另存为CSV文件导入

3.导入数据库文件

方法一:安装并加载RODBC包 使用odbcConnect("数据源名称",uid = "用户名",pwd="密码")连接,并使用sqlFetch( )读取 表格

例,mycon <- odbcConnect("mysql",uid = "root",pwd="0") #连接mysql数据库

data <- sqlFetch(mycon, test ) # 读取test表格

方法二:安装并加载RMYSQL包,这里以MariaDB数据库为例

先安装这个数据库,然后打开其图形界面

输入密码即可登入,此时要记住主机名/IP 用户,密码,端口,为后续R连接准备,登入后,选择一个数据库,右键单击点击创建一个表,就可以创建一个表格.然后用下面代码连接此数据库,当然实际工作中数据库早已经建好,故只需输入数据正确的参数就可以连接.举例:

con <- dbConnect(MySQL(),host="127.0.0.1",port=3306,dbname = "test",user="root",password="123456") ######修改成自己数据库名称.地址.端口.用户名.密码.等

con_query=dbSendQuery(con,"select * from all_gzdata where fullurlid =107001")

#####R通过连接对表按条件查询,查询fullurl中带有_的并且fullurlid为107001的数据(即知识类型页面)

data=dbFetch(con_query,n=-1)

####提取查询到的数据,n=-1代表提取所有数据,n=100代表提取前100行

这时我们便已经成功导入数据到R中了.


未完待续,

PPV原创文章,严禁转载. (文:@白加黑治感冒)

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2016-04-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Seebug漏洞平台

CVE-2015-1641 Word 利用样本分析

00 引 子 本文我们将通过一个恶意文档的分析来理解漏洞 CVE-2015-1641(MS15-033)的具体利用过程,以此还原它在现实攻击中的应用。就目前来...

3318
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Cassandra和ElasticSearch设置Titan Graph数据库

Titan是一个高度可扩展的开源图形数据库。图形数据库是一种NoSQL数据库,其中所有数据都存储为节点(nodes)和边(edges)。图形数据库适用于高度连接...

1402
来自专栏张善友的专栏

WCF 消息帧格式

在TCP/IP协议栈中,当数据通过协议栈向下流动时,每一层都要给数据增加控制信息用于确保正确的传递。控制信息放置在被传送数据的开始,称之为包头,这种在协议栈中每...

1848
来自专栏Phoenix的Android之旅

如何跨app对其他应用进行虚拟点击

可能很多人在Android开发中会有这样的想法,如何模拟屏幕点击,向另外的app发送点击事件,来达到某种目的。 就像我们平时用 adb shell sendev...

1181
来自专栏Jack-Cui

Caffe学习笔记(二):使用Python生成caffe所需的lmdb文件和txt列表清单文件

Python版本:Python2.7 运行平台:Ubuntu14.04 最后修改时间:2017.4.20     在上个笔记中,已经学会了如何使用Ca...

4888
来自专栏Deep learning进阶路

caffe随记(四) --- mnist示例超详细讲解

这个mnist手写体数字识别的例子可以说是caffe中的 Hello World。mnist最初用于支票上的手写数字识别,针对mnist识别的专门模型是Lene...

2530
来自专栏cloudskyme

JRuby——Java和Ruby的强强联合

什么是JRuby JRuby是一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的...

4024
来自专栏伪君子的梦呓

用 Python 生成彩色动态二维码

4437
来自专栏AI研习社

AI-Blocks:可以让任何人创建机器学习模型的所见即所得交互界面 | Github 项目推荐

AI-Blocks 是一个强大且直观的所见即所得交互界面,可以让任何人都创建机器学习模型。 ? AI-Block 通过可拖动的对象来创建简单的场景,该模型可以直...

37916
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版5.1节基本数据类型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

793

扫码关注云+社区