数据分析工作中,R语言和SQL哪个接触得多

数据分析工作中,R语言和SQL哪个接触得多,第1张

当然也可以将R与外部数据库连接,直接在R中 *** 作数据库,并生成最终结果,这也是一种可行的方法。在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它们分别对应了几种主流的数据库。

1、分析数据表:通过浏览“入库明细”表,我们可能看到入库明细表中,作为提取记录的条件零件号在A列。

需要提取的记录,入库日期在H列、入库单号在O列、最后生产批号在L列、入库前库存数在Q列。为DC000496ZL的记录有5条(截图中的4条是指上面有4条)。

2、列出提取条件及项目:在sheet1中,将A列放置提取条件(即零件号)。在B、C、D、E列分别写上提取项目名称:入库日期、入库单号、最后生产批号、入库前库存数。

3、写公式:在最后入库日期项目下B2中输入公式:=MAX((入库明细!$A$2:$A$26=$A2)(入库明细!$H$2:$H$26)),这是一个数组公式,请用三键确认(ctrl+shift+enter)。

搜索

免费自学excel教程全套

excel另一列数据提取

自动抓取数据excel表

表格技巧大全

excel100个常用技巧

新手怎么做财务报表

R语言如何从外部读取数据到R中

R语言可以从键盘,文本,excel,access,数据库,专业处理软件sas

一、使用键盘的输入

mydata<-dataframe(age=numeric(0),gender=character(0),weight=numeric(0))

mydata<-edit(mydata)

二、读入带有分隔符文本格式的数据

data<-readtable(文件,header=true/false,sep="delimeter",rownames=列名)

其中文件可以有很多选项的

file()gzfile(),bzfile(),等一些压缩文件以及url(>

r语言中添加新列的方法:

假设你数据是data,那么前几列的和是rowSums(data);

然后你可以重新做一个dataframe

data_new<-dataframe(data,sum=rowSums(data))

R语言Data Frame数据框常用 *** 作:

Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的。

Data Frame每一列有列名,每一行也可以指定行名。如果不指定行名,那么就是从1开始自增的Sequence来标识每一行。

使用dataframe函数就可以初始化一个Data Frame。比如我们要初始化一个student的Data Frame其中包含ID和Name还有Gender以及Birthdate,那么代码为:

student<-dataframe(ID=c(11,12,13),Name=c("Devin","Edward","Wenli"),Gender=c("M","M","F"),Birthdate=c("1984-12-29","1983-5-6","1986-8-8”))

另外也可以使用readtable() readcsv()读取一个文本文件,返回的也是一个Data Frame对象。读取数据库也是返回Data Frame对象。

查看student的内容为:

ID   Name Gender  Birthdate

1   11  Devin       M 1984-12-29

2   12 Edward     M   1983-5-6

3   13  Wenli       F   1986-8-8

这里只指定了列名为ID,Name,Gender和Birthdate,使用names函数可以查看列名,如果要查看行名,需要用到rownames函数。这里我们希望将ID作为行名,那么可以这样写:

rownames(student)<-student$ID

R语言数据对象与运算

R语言数据对象与运算 笔记整理

21 数据对象及类型

R语言创建和控制的实体被称为对象(object)

ls()命令来查看当前系统里的数据对象

R对象的名称必须以一个英文字母打头,并由一串大小写字母、数字或钟点组成

注意:R区分大小写

不要用R的内置函数名称作为数据对象的名称,如c、length等

22 数据对象类型

R语言的对象包括

数值型(numeric):实数, 可写成整数(integers)、小数(decimal fractions)、科学记数(scientific notation)

逻辑型(logical):T(true)或F(FALSE)

字符型(character):夹在" "或之间

复数型(complex):形如a+bi

原味型(raw):以二进制形式保存数据

缺省型(missing value):有些统计资料是不完整的,当一个元素或值在统计的时候是“不可得到(not available)”或“缺失值(missing value)”的时候,相关位置可能会被保留并赋予一个特定的NA(not available)值,任何NA的运算结果都是NA。

辨别和转换数据对象类型的函数:

辨别 转换

character ischaracter() as,character()

complex

double

integer

logical

NA

numeric

23 数据对象构造

R语言里的数据对象主要有六种构造:向量(vector)、矩阵(matrix)、数组(array)、列表(list)、数据框(data frames)、因子(factor)

231 向量(vector)是由有相同基本类型元素组成的序列,相当于一维数组

5个数值组成的向量x,这是一个用函数c()完成的赋值语句,这里c()可以有任意多个参数,而它输出的值则是一个把这些参数首尾相连形成的一个向量

R的赋值符号除了“<-”外,还有"->""="

例如:

> c(1,3,5,7,9) -> y

> y

[1] 2 5 8 3

> z = c(1,3,5,7,9)

> z

[1] 1 3 5 7 9

assign()函数对向量进行赋值

length():可返回向量的长度

mode()可返回向量的数据类型

正则序列 用 “:”符号,可产生有规律的正则序列(: 的运算级别最高)

函数seq()产生有规律的各种序列

seq(from,to ,by) from 给序列的起始值,to表示序列的终止值,by表示步长(by 省略时,表示步长值为1)

> seq(1,10,2)

[1] 1 3 5 7 9

> seq(1,10)

[1] 1 2 3 4 5 6 7 8 9 10

有时关注的是数列的长度,利用句法:seq(下界,by=,length=)

> seq(1,by=2,length=10)

[1] 1 3 5 7 9 11 13 15 17 19

rep(x,times,……)x表示要重复的对象,times表示重复的次数

> rep(c(1,3),4)

[1] 1 3 1 3 1 3 1 3

> rep(c(1,3),each=4)

[1] 1 1 1 1 3 3 3 3

对每个元素进行重复;

R中的内置函数:

mean()来示向量的均值

median()求是位数

var()求方差

sd()求标准差

sort()对向量排序

rev()将向量按原方向的反方向排列

rank()给求出向量的秩

prod()求向量连乘积

append()为向量添加元素

对向量运算常见函数表

函数 用途

sum() 求和

max() 求最大值

min() 求最小值

range() 求极差(全矩)

mean() 求均值

median 求中位数

var() 求方差

sd() 求标准差

sort() 排序

rev() 反排序

rank() 求秩

append() 添加

replace() 替换

match() 匹配

pmatch() 部分匹配

all() 判断所有

any() 判断部分

prod() 积

232 矩阵

矩阵(matrix)是将数据用行和列排列的长方形表格,它是二维的数组,其单元必须是相同的数据类型,通常用列来表示不同的变量,用行表示各个对象。

其句法是:

matrix(data=NA,ncol=1,byrow-=FALSE,dimnames=NULL)

data是必须的,其它几个选择参数。

nrow表示矩阵的行数

ncol表示矩阵的列数

byrow默认为FALSE,表示矩阵按列排列,如设置为T,表示按行排列;

dimnames可更改矩阵行列名字

diag()函数生成对角矩阵

diag()这个函数比较特别,当数据是向量时则生成对角矩阵,但当数据是矩阵时,则返回对角元素

也可用函数diag()生成单位矩阵

当我们生成了某个矩阵后,若要访问矩阵的某个元素或某行(列),可以利用形如A[i,j]的形式得到相应的索引矩阵

矩阵可进行相应的加减乘除运算,但运算过程中要注意行数和列数的限制条件

R里AB并不是表示矩阵相乘,只表示矩阵对应的元素相乘

矩阵相乘应用A%%B

dim()返回矩阵的行数和列数

nrow()返回矩阵的行数

ncol()返回矩阵的列数

solve()返回矩阵的逆矩阵

对矩阵运算的常见函数

函数 用途

asmatrix() 把非矩阵的转换成矩阵

ismatrix() 辨别是否矩阵

diag() 返回对角元素或生成对角矩阵

eigen() 求特征值和特征向量

solve() 求逆矩阵

chol() Choleski分解

svd() 奇异值分解

qr() QR分解

det() 求行列式

dim() 返回行列数

t() 矩阵转置

apply() 对矩阵应用函数

R语言还提供了专门针对矩阵的行或列计算的函数

如 colSUms()对矩阵各列求和 colMeans()求矩阵各列的均值

类似的有 rowSums()rowMeans()

更一般的方法:

apply()函数来对各行各列进行运算

句法是:apply(X,MARGIN,FUN,……)

X表示要处理的数据

MARGIN表示函数作用的范围

取1表示对行运用函数

取2表示对列运用函数

FUN表示要运用的函数

rbind()、cbind()将两个或两个以上的矩阵合并起来

rbind()表示按行合并,cbind()则表示按列合并

233 数组

数组(array)可以看作是带有多个下标的类型相同的元素的集合。

数组的生成函数是array(),其句法是

array(data=NA,dim=length(data),dimnames-NULL)

data表示数据,可以为空

dim 表示维数

dimnames可以更改数组难度的名称

234 列表

向量、矩阵和的单元必须是同一类型的数据,若一个数据对象需要含有不同的数据类型,可采用列表(list)这种数据对象的形式。

列表是一个对象的有序集合构成的对象,列表中包含的对象又称为它的分量(components),分量可以是不同的模式或(和)类型

语法式为:list (变量1=分量1,变量2=分量2,……)

若要访问列表的某一成分,可以用LST[[1]],LST[[2]]的形式访问

因分量可以被命名,故可以在列表名称后加$符号,再写上成分名称来访问列表分量

函数length()、mode()、names()可以分别返回列表的长度(分量的数目)、数据类型、列表里成分的名字

235 数据框

数据框(data frame)是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测 。

对可能列入数据框中的列表有如下的一些限制:

1.分量必须是向量(数值,字符,逻辑),因子,数值矩阵,列表或者其他数据框。

2.矩阵,列表和数据框为新的数据框提供了尽可能多的变量,因为它们各自拥有列、元素或者变量。

3.数值向量、逻辑值、因子保持原有格式,而字符向量会被强制转换成因子并且它的水平就是向量中出现的独立值。

4.在数据框中以变量形式出现的向量结构必须长度一致,矩阵结构必须有一样的行数。

R中用函数dataframe()生成数据框,其句法是:dataframe(data1,data2,……)

数据框的列名默认为变量名,也可对列名进行重新命名

也可以对数据框的行名进行修改

236 因子和有序因子

分类型数据经常要把数据分成不同的水平或因子(factor)

生成因子的命令是factor(),其句法是:factor(data,levels,labels,……)

其中data表示数据

levels是因子水平向量

labels是因子的标签向量

levels,labels是备选项,可以不选

若上面的每个因子并不表示因子的大小,要表达因子之间有大小顺序(考虑因子之间的顺序),则可以用 ordered()函数产生

24 数据的录入及编辑

c函数:c函数是把各个值联成一个向量或列表,可以形成数值型向量、字符型向量或其它类型向量

scan函数:功能类似于c函数,实际上是一种键盘输入数据函数。当输入scan(),然后按回车键,这时将等待输入数据,数据之间只要空格分开即可(c函数要用逗号分开)。输入完数据,再按回车键,这时数据录入完毕。

scan函数还可以读入外部文本文件,若现有一个文本文件,datatxt,读入这个文件的命令是:> x=scan(file="dattxt")

若原文件的数据之间有逗号等分隔符,用scan读入应该去掉这些分隔符,其命令是:> x=scan(file="dattxt",sep=",")

编辑数据

dataentry命令

xx原先未被定义,现在赋予其一个空值,这时会出现一个电子表格界面,等待输入数据:> dataentry(xx=c(NA))

当电子表格关闭后,数据会自动保存

edit命令用来编辑函数,也可用来编辑数据,但不会自动保存

fix函数与edit类似,但它可以自动保存

从外部文件读入数据

从文本文件读取:

> s1=readtable("studenttxt")

> s1

V1 V2 V3

1 class sex score

2 1 女 80

3 1 男 85

4 2 男 92

5 2 女 76

6 3 女 61

7 3 女 95

8 3 男 83

读入表格数据的命令是:readtable

忽略掉标签而直接使用默认的行标签

> s2=readtable("studenttxt",header=T)

> s2

class sex score

1 1 女 80

2 1 男 85

3 2 男 92

4 2 女 76

5 3 女 61

6 3 女 95

7 3 男 83

从网络读入数据

url可以从网页上读入正确格式的数据,要借助readtable函数

> address=>

r语言最多能处理上万条数据是用于统计分析、绘图的语言和 *** 作环境。r语言属于一个数据库,可以存很多的数据,是可以有上万数据的,其内部可以由多种数据类型,每一列是一个变量,每行是一个观测记录。

以上就是关于数据分析工作中,R语言和SQL哪个接触得多全部的内容,包括:数据分析工作中,R语言和SQL哪个接触得多、如何用R语言在数据中提取指定列数据,并且形成一个新的数据表、R语言如何从外部读取数据到R中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9384375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存