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数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)