码迷,mamicode.com
首页 > 编程语言 > 详细

R语言

时间:2018-08-19 15:47:27      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:cte   二维   循环   lis   标签   logic   模式   计数   替代   

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=‘47.93.114.198‘,
                 
                 user=‘backup‘,
                 
                 password=‘wkwAN6sBDU‘,
                 
                 dbname=‘medicalrecord‘)
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()函数创建数据帧。

R语言

标签:cte   二维   循环   lis   标签   logic   模式   计数   替代   

原文地址:https://www.cnblogs.com/monkey-moon/p/9501151.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!