当前位置: 首页 > news >正文

r语言

R语言

R语言是动态语言

环境搭建

先安装R再安装Rstudio,注意要保证:

  • R语言安装指定为64位;
  • R语言和Rstudio的安装路径不要有汉字;
  • R语言和Rstudio的安装父目录要为同一个。

R对象和函数

  • R对象可以看作是具有关联名称的存储空间。R中的一切都存储在对象中。所有的变量、数据、函数都以命名对象的形式存储在计算机的内存中。

对象赋值运算符:<-

>x <-945
>x
[1] 945

就是把945赋值给x,数值前的“[1]”可以读作“此行是从对象的第一个元素开始显示的值”。

  • R语言赋值操作支持数值表达式,此种情况下,对象存储表达式的计算结果:
> z <- 5
> w <-z^2

>w

[1] 25
  • 值得注意的是:创建的每个对象都存储在计算机内存中,直到删除它。可通过命令ls()或objects()列举出当前内存中的对象。
  • R中最基本的对象,有模式和长度两种属性。模式指的是存储类型,长度是包含的元素数量。
  • R的基本数据类型有:字符型character、逻辑型logical、数值型numeric、复数型complex。注意:R的字符型事实上是一组字符,而非单个字符,类似其它语言的字符串类型。逻辑值只能是T(TRUE)和F(FALSE),True或False等不是有效的逻辑值,因为R中的名称是大小写敏感的。
  • 在R中显式的运行循环( for in,while等)效率是很低的,所以尽可能通过其他方式来避免显式循环,可选的方式有:

逻辑索引向量替代,如y[x%%2==0] <- 0

R连接mysql

options(download.file.method="libcurl")

install.packages("RMySQL")

library(RMySQL)

con <- dbConnect(MySQL(),
                 
                 host='localhost',
                 
                 user='root',
                 
                 password='root‘,
                 
                 dbname='test')
adminrole<- dbGetQuery(con, "select * from adminrole")

print (adminrole)


dbDisconnect(con)

R连接Oracle

方法一:

library(RODBC)

方法二:

较为复杂,和java的jdbc连接数据库操作类似

R连接 Sql sever

  • 创建数据源RODBC
  • .连接
library(RODBC);
dbhandle <- odbcDriverConnect('driver={SQL Server};server=(local);database=TESTdatabase;trusted_connection=true');#TESTdatabase为数据库
res <- sqlQuery(dbhandle, 'select * from  class ');#class为TESTdatabase数据库中表
sqlSave(dbhandle,res,"A",append=FALSE);
odbcClose(dbhandle);

R连接 db2

library(RJDBC)

R操作excel(依赖java环境)

1.首先安装xlsx包,并进行加载包

install.packages("xlsx")
library("xlsx")
  1. 实现数据的输出
input.xlsx.data <- read.xlsx("input.xlsx", sheetIndex = 1)
print (input.xlsx.data)

这样既可得到excel表里的数据

R操作csv

data2 = read.table("writetest.csv",header=F, sep=",")
print (data2)

R语言数据类型

矢量
列表
矩阵
数组
因子
数据帧

  • 这些对象中最简单的是向量对象,并且这些原子向量有六种数据类型,也称为六类向量。 其他R对象建立在原子向量之上。 Logical(逻辑型),Numeric(数字),Integer(整型),Complex(复合型),Character(字符),Raw(原型)
  • 使用

1. Vectors 向量

当你想用多个元素创建向量时,你应该使用c()函数,这意味着将元素组合成一个向量。

apple <- c('red','green',"yellow")
print(apple)

2.Lists 列表

列表是一个R对象,它可以在其中包含许多不同类型的元素,如向量,函数甚至其中的另一个列表。

list1 <- list(c(2,5,3),21.3,sin)

3. Matrices 矩阵

M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)

4.Arrays 数组

虽然矩阵被限制为二维,但阵列可以具有任何数量的维度。 数组函数使用一个dim属性创建所需的维数。 在下面的例子中,我们创建了一个包含两个元素的数组,每个元素为3x3个矩阵。

a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)

输出:

, , 1

     [,1]     [,2]     [,3]    
[1,] "green"  "yellow" "green" 
[2,] "yellow" "green"  "yellow"
[3,] "green"  "yellow" "green" 

, , 2

     [,1]     [,2]     [,3]    
[1,] "yellow" "green"  "yellow"
[2,] "green"  "yellow" "green" 
[3,] "yellow" "green"  "yellow"

dim中的2代表维数

5.Factors 因子

因子是使用向量创建的r对象。 它将向量与向量中元素的不同值一起存储为标签。 标签总是字符,不管它在输入向量中是数字还是字符或布尔等。 它们在统计建模中非常有用。
使用factor()函数创建因子。nlevels函数给出级别计数。

6.Data Frames 数据帧

数据帧是表格数据对象。 与数据帧中的矩阵不同,每列可以包含不同的数据模式。 第一列可以是数字,而第二列可以是字符,第三列可以是逻辑的。 它是等长度的向量的列表。
使用data.frame()函数创建数据帧。

转载于:https://www.cnblogs.com/monkey-moon/p/9966496.html

相关文章:

  • redis入门学习记录(一)
  • Python并发编程之协程
  • A. A Prank
  • 二分搜索-poj2785
  • MyBatis实战之配置
  • 电子科协 第二期
  • python高阶函数,map,filter,reduce,ord,以及lambda表达式
  • python 类的初始化
  • Python Cookies不能存入中文的问题
  • 17-Python3 循环语句
  • 25-Python3 错误和异常
  • Python-流程控制之if判断
  • 如何用思维导图快速理解PMBOK-PMP第六版教材
  • Scala实战高手****第9课:Scala类和对象彻底实战和Spark源码鉴赏
  • 分层开发之DTO和JXL读取excel写入excel
  • 【刷算法】求1+2+3+...+n
  • 10个最佳ES6特性 ES7与ES8的特性
  • 77. Combinations
  • Android 架构优化~MVP 架构改造
  • axios 和 cookie 的那些事
  • Intervention/image 图片处理扩展包的安装和使用
  • JS学习笔记——闭包
  • LintCode 31. partitionArray 数组划分
  • spring boot下thymeleaf全局静态变量配置
  • 产品三维模型在线预览
  • 配置 PM2 实现代码自动发布
  • 如何解决微信端直接跳WAP端
  • 说说动画卡顿的解决方案
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 一道闭包题引发的思考
  • 【干货分享】dos命令大全
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 阿里云移动端播放器高级功能介绍
  • 昨天1024程序员节,我故意写了个死循环~
  • ​【已解决】npm install​卡主不动的情况
  • ​queue --- 一个同步的队列类​
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #单片机(TB6600驱动42步进电机)
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (5)STL算法之复制
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (备忘)Java Map 遍历
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (十)c52学习之旅-定时器实验
  • (十一)手动添加用户和文件的特殊权限
  • (原創) 物件導向與老子思想 (OO)
  • (转)Windows2003安全设置/维护
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NetCore实践篇:分布式监控Zipkin持久化之殇