R语言中的Vector是怎么回事

R语言中的Vector是怎么回事,第1张

isvector(A):判断A是否为向量;

asvector(A):如A是矩阵(数组),asvector就是将矩阵转化为向量。

R中的vector分为两类,atomic和list,二者的区别在于,前者元素类型必须相同,后者可以不同。前者的代表是向量和矩阵,后者的代表是list和数据框。

isvector

由于它们都是vector,所以用isvector检验无法区分向量和列表。当然,也无法用asvector将列表转换成向量。

同样是vector,矩阵和数据框用isvector检验就返回的是FALSE,这说明isvector也不是检验vector的,它的真正原理在于,检查是否最多只有一个属性:name。即查看其属性,如果没有属性或者只有一个name属性,才返回TRUE。

扩展资料

R语言强大的功能:

1、R的标记语言可以制作可重复生成的Word和Powerpoint文档

R语言中的rmarkdown包可以制作可重复生成的Word文档和Powerpoint幻灯片,而这只需要改变一行YAML的代码。

2、组建和运行一个可交互的网络应用只需要几行代码

几行R代码就可以生成一个可交互的网络应用。比方说如果使用R语言的flexdashboard包, 只需要36行代码,就可以生成一个可交互的动态报表,来探索BMI指数与全国健康营养检查样本结果的关联。

3、几行甚至一行R代码就可以支持网络应用的运行

另外一个很酷的功能是,通过rsconnect包,R语言还可以仅用一两行代码就支持网络应用的运行。这些应用既可以通过自己的服务器来支持,也可以用shinyappsio这种云服务器。

4、通过使用R语言的dplyr/dbplyr,几乎各种数据库都可以连接

使用dbplyr包,用R语言连接各种数据库,无论是本地的还是远程的,都非常方便。这个功能使R语言用户可以不用担心底层的数据库,而独立地从主流数据库中抽取数据。R语言的bigrquery包还可以直接利用BigQuery和其他大规模数据存储。

R 对于基于 SQL 语言的关系型数据库有良好的支持,这些数据库既有商业数据库 Oracle、Microsoft SQL Server、IBM DB2 等,也包含在 GNUGeneral Public License (GPL) 下发布的 MySQL 等开源数据库。RMySQL 包中提供了到 MySQL 数据库的接口;RODBC 包提供了更为广泛数据库接口的解决方案 支持所有标准 ODBC 接口的数据库。通过这种方式,相同的 R 代码可以方便地应用于不同类型的数据库。library (RODBC)ch <- odbcConnect("stocksDSN",uid = "myuser",pwd = "mypassword")stocks <- sqlQuery(ch ,"select from quotes")odbcClose(ch)经测试,Windows 平台上的 Microsoft SQL Server、Access、Oracle、MySQL、PostgreSQL,和

R语言可以使用readxlsx()函数来读取excel数据文件,也可以使用readcsv()函数来读取csv格式的数据文件。此外,还可以使用R包RODBC来连接数据库,从而将数据文件存储在数据库中,便于管理和 *** 作。另外,还可以使用R语言的XML包来解析XML格式的数据文件,从而将其导入R语言中进行处理分析。

一、 安装RODBC库

1、进入R语言的GUI界面(RGUIEXE),在菜单栏选择“程序包/安装程序包

2、在d出的窗口里往下拉,选择RODBC如图,点击确定

3、在ODBC数据源管理器里将需要的数据库添加进去,这里笔者使用的是SQL Server2008,驱动程序选择Native Client100

3、在R语言窗口输入连接语句

> library(RODBC)

这里是载入RODBC库

> channel<-odbcConnect("MyTest",uid="ripley",case="tolower")

连接刚才添加进数据源的“MyTest”数据库

ch <- odbcConnect("some dsn ", uid = "user ", pwd = " ")

表示用户名为user,密码是,如果没有设置,可以直接忽略

> data(USArrests)

将“USArrests”表写进数据库里(这个表是R自带的)

> sqlSave(channel,USArrests,rownames = "state",addPK = TRUE)

将数据流保存,这时候打开SQL Server就可以看到新建的USArrests表了

> rm(USArrests)

> sqlTables(channel)

给出数据库中的表

> sqlFetch(channel,"USArrests",rownames = "state")

输出USArrests表中的内容

> sqlQuery(channel,"select from USArrests")

调用SELECT查询语句并返回结果(如图)

> sqlDrop(channel,"USArrests")

删除表

> odbcClose(channel)

最后要记得关闭连接

当然,通过这个办法也可以读取Excel、Access表中的内容,具体方法类似,这里不再重复

如何配置才能使客户端连到数据库:

要使一个客户端机器能连接oracle数据库,需要在客户端机器上安装oracle的客户端软件,唯一的例外就是java连接数据库的时候,可以用

jdbc

thin模式,不用装oracle的客户端软件。加入你在机器上装了oracle数据库,就不需要在单独在该机器上安装oracle客户端了,因为装

oracle数据库的时候会自动安装oracle客户端。

用过sql

server数据库然后又用oracle的新手可能会有这样的疑问:问什么我用sql server的时候不用装sql

server的客户端呢?原因很简单,sql server也是microsoft的,它在 *** 作系统中集成了sql

server客户端,如果microsoft与oracle有协议,将oracle客户端也集成到 *** 作系统中,那我们也就不用在客户端机器装oracle

客户端软机就可访问数据库了,不过,这好像是不可能实现的事情。

也有的人会问:为什么在sql

server中没有侦听端口一说,而在oracle中要配置侦听端口?其实sql

server中也有侦听端口,只不过microsoft将侦听端口固定为1433,不允许你随便改动,这样给你一个错觉感觉sql

server中没有侦听端口,咳,microsoft把太多的东西都封装到黑盒子里,方便使用的同时也带来的需要副作用。而oracle中的侦听端口直接

在配置文件中,允许随便改动,只不过无论怎样改动,要与oracle服务器端设置的侦听端口一致。

好,言归正传,我们如何做才能使客户端机器连接到oracle数据库呢?

A. 安装相关软件

B. 进行适当的配置

A.在适当的位置安装适当的软件:

在客户端机器:

1.在客户端机器上安装ORACLE的Oracle Net通讯软件,它包含在oracle的客户端软件中。

2.正确配置了sqlnetora文件:

NAMESDIRECTORY_PATH = (TNSNAMES, …)

NAMESDEFAULT_DOMAIN=DB_DOMAIN

一般情况下我们不用NAMESDEFAULT_DOMAIN参数。如果想不用该参数用#注释掉或将该参数删除即可,对于NAMESDIRECTORY_PATH参数采用缺省值即可,对于NAMESDEFAULT_DOMAIN参数有时需要注释掉,在下面有详细解释。

3.正确配置了tnsnameora文件

在服务器端机器:

1.保证listener已经启动

2.保证数据库已经启动。

如果数据库没有启动,用:

Oracle 9i:

dos>sqlplus “/ as sysdba”

sqlplus> startup

Oracle 8i:

dos>svrmgrl

svrmgrl>connect internal

svrmgrl>startup

命令启动数据库

如果listener没有启动,用:

lsnrctl start [listener name]

lsnrctl status [listener name]

命令启动listener

B.进行适当的配置

如何正确配置tnsnameora文件:

以上就是关于R语言中的Vector是怎么回事全部的内容,包括:R语言中的Vector是怎么回事、R语言如何数据库读取数据、r语言如何导入excel数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存