转载

几招教你如何在R中获取数据进行分析

本文是《R编程语言》中一个系列的第二部分。在第一部分中,我们探索如何使用R语言进行数据可视化。第二部分将探讨如何在R语言中获取数据并进行分析。

几招教你如何在R中获取数据进行分析

如今,想要购买一部 手机 已成为一件非常具有挑战性的事,这点很好理解。因为要在如此多的款型和品牌中选择并确定符合最终需求的那款 手机 , 需要进行深入的产品研究并理解产品的功能。有趣的是,一些产品评论和价格比较,可供用户自由填写和选择,以帮助消费者作出正确的选择。而实际积累的数据也 为消费者对产品决策和最终决定是否购买方面也起了重要作用。作为消费者,寻找合适的数据是一个十分复杂的过程。这样一来,R语言就有了用武之地。使用R语 言进行编程,开发者可以用一个脚本快速绘制统计出适合自己的分析。下面,让我们看看R编程的一些特性和用法。

几招教你如何在R中获取数据进行分析

用R语言进行数据处理的不同方法:

R可以从以下几个方面读取数据:

·电子数据表

·Excel表

·数据库

·图片

·文本文件

·其他特殊格式

几招教你如何在R中获取数据进行分析

导入数据

不论是本地数据还是网上数据,使用R编程都将能够成功地导入不同格式的数据。

从文件中读取数据

理想情况下,数据是可以储存在文件系统中的。这些数据必须可读或写,用以识别当前目录中储存的文件。

·目录设置

首当其冲的就是设置工作目录。

使用命令getwd()来确定目录(文件夹)

在linux pc输出显示的路径如下:

> getwd()

[1] "/home/test"

在Windows上描述为:

c:/data/test

设置数据文件的保存目录,使用命令setwd(“路径”),路径数据文件所在的目录和子目录。例如,如果数据在文件temp.txt且此文件在文件夹/home/test/example/,那么在linux上表示为:

setwd("/home/test/example/")

在Windows上,它将被表示为:

setwd("C: /mydata/test")

这里,有必要知道文件所保存的文件夹地址。

·读取文本文件

包含在文本文件的数据可以在R会话时使用扫描命令读取。

记住使用选项what= " "扫描命令,这表明输入的字符将带有数据类型属性。

对于这个session,我已经创建了textsample.txtfile文件,它可以在R会话中读取。

> fdata<- scan("textsample.txt",what="")

现在,fdata将从文本文件中获取数据。

让我们先来回顾一些head(fdata)条目命令:

> head(fdata)
[1] "this"      "is"        "a"         "sample"    "file"      "generated"

使用tolower将字符串转换成小写字母。

> fdata<-tolower(fdata)

文件中许多都是单独存储,其中存在一些重复词汇。

计算词的使用频率

 > ft<-table(fdata)

查看ft的饼图情况使用命令:

 > pie(ft)

几招教你如何在R中获取数据进行分析

从上面的图表可以看出,“file”和“the”的使用频率最高。

通过max命令可以很容易发现在英国《金融时报》使用频率最大的单词。

> max(ft)

[1] 4

查看该命令的输出:

> head(ft)

fdata

a        be        by       can character   command

1         3         1           2             1             1

图中点绘处显示单词在频率图对应的位置:

> dotchart(ft)

几招教你如何在R中获取数据进行分析

·读取文件数据的命令

大家都知道,一些最常见的数据文件都是csv和xls格式文件。csv文件用逗号分隔值,xls是一个excel文件扩展名。

几招教你如何在R中获取数据进行分析

一些最常见的数据文件格式,可以通过read.csv和read.table命令处理:

> read.csv("test.csv",header=TRUE)
1  Status   Age    V1     V2     V3    V4
2       P 23646 45190  50333  55166 56271
3      CC 26174 35535  38227  37911 41184
4      CC 27723 25691  25712  26144 26398
5      CC 27193 30949  29693  29754 30772
6      CC 24370 50542  51966  54341 54273
7      CC 28359 58591  58803  59435 61292
8      CC 25136 45801  45389  47197 47126
> read.table("test.csv",header=TRUE)
Status   Age    V1    V2    V3    V4
1      P 23646 45190 50333 55166 56271
2     CC 26174 35535 38227 37911 41184
3     CC 27723 25691 25712 26144 26398
4     CC 27193 30949 29693 29754 30772
5     CC 24370 50542 51966 54341 54273
6     CC 28359 58591 58803 59435 61292
7     CC 25136 45801 45389 47197 47126

·直接从网上获取数据

大家可以直接从网上读取数据。这些数据可通过网站链接获取,或通过R记忆URL直接获得数据。网络上的数据设置可登录http://lib.statNaNu.edu/datasets/csb/ch3a.dat。输入read.csv或read.table命令直接读取数据。

data1<-read.table( "http://lib.statNaNu.edu/datasets/csb/ch3a.dat")
> head(data1)
        V1    V2    V3    V4    V5
1 07/08/91 47.33 52.82 19.58 17.78
2 07/09/91 42.58 53.25  9.42  6.06
3 07/10/91 59.55 56.32 19.83 14.81
4 07/11/91 52.92 50.06 15.08  9.75
5 07/12/91 55.25 59.50 28.75 27.21
6 07/13/91 54.75 56.80 27.83 20.84
data2<-read.csv( "http://lib.statNaNu.edu/datasets/csb/ch3a.dat")
> head(data2)
  X07.08.91....47.33....52.82....19.58....17.78
1  07/09/91    42.58    53.25     9.42     6.06
2  07/10/91    59.55    56.32    19.83    14.81
3  07/11/91    52.92    50.06    15.08     9.75
4  07/12/91    55.25    59.50    28.75    27.21
5  07/13/91    54.75    56.80    27.83    20.84
6  07/14/91    35.33    40.88    11.83    15.65

data1以及data2是持有相同的文件不同格式的两个数据对象。

Reading Spreadsheets

·阅读电子表格

阅读电子表格数据,我们需要安装gdata库。

> install.packages("gdata")
> library(gdata)

读取这个包的数据,可使用新命令read.xls。

The data file test.xls can be read with read.xls(“test.xls”).

数据文件test.xls可输入命令read.xls xls(“test.xls”)读取。

Fill Spread Sheet Type Data Through the Editor in R

通过编辑R填补传播表类型数据

x<-edit(as.data.frame(NULL))

几招教你如何在R中获取数据进行分析

R中的数据集

可以使用显示R中的数据集的命令data()将可用数据集置入R中。

data(Airpassengers)

查看数据描述,使用命令:

help(AirPassengers)

查看实际数据,使用head命令:

> head(AirPassengers)
正文到此结束
Loading...