(应王老板要求学习一下R语言)

(windows安装安装路径不要出现中文,不然RStudio找不到R软件)

1、R中的数据结构

1.1向量,标量

1.2矩阵

1.3数组

1.4列表

1.5数据框

1.6因子

1.7时间序列

2、R语言基础

2.1运算符

  R 语言赋值使用的是左箭头 <- 符号,不过一些新版本也支持等号=,也可以用->符号(最新版本)。

2.2变量的定义

  R 语言的有效的变量名称由字母,数字以及点号 . 或下划线 _ 组成。

变量名称以字母或点开头。

  注意:首字母为“.”点,或者英文字母,“.”号后面不能直接跟数字

demo

> var.1 = c(0,1,2,3) 
> print(var.1)
[1] 0 1 2 3
> var.2 = c("Hello","R")
> print(var.2)
[1] "Hello" "R"    
> var.3 <= c("Hello","Java")
错误: 找不到对象'var.3'
#符号错误 <= 应该是 <- > var.3 <- c("Hello","Java") > print(var.3) [1] "Hello" "Java" > c(true,1)->var.4 错误: 找不到对象'true'
#布尔值大小写敏感 > c(TRUE,1) -> var.4 > print(var.4) [1] 1 1 >

  列出已定义的变量ls()函数

> var.1 = c(0,1,2,3) 
> var.2 = c("Hello","R")
> var.3 <- c("Hello","Java")
> c(TRUE,1) -> var.4
> print(ls())
[1] "var.1" "var.2" "var.3" "var.4"
> 

  删除变量可以使用rm()函数

> print(ls())
[1] "var.1" "var.2" "var.3" "var.4"
> rm(var.1)
> print(ls())
[1] "var.2" "var.3" "var.4"
> 

  linux中进入和退出R软件

[root@VM-0-3-centos ~]# R

R version 3.6.0 (2019-04-26) -- "Planting of a Tree"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)

R是自由软件,不带任何担保。
在某些条件下你可以将其自由散布。
用'license()'或'licence()'来看散布的详细条件。

R是个合作计划,有许多人为之做出了贡献.
用'contributors()'来看合作者的详细情况
用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。

用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或
用'help.start()'通过HTML浏览器来看帮助文件。
用'q()'退出R.

> q()
Save workspace image? [y/n/c]: n

  运行R脚本,在命令窗口使用Rscript来执行该脚本

 
#linux 创建编辑脚本文件 并运行脚本文件
[root@VM-0-3-centos zxgtest]# touch test.R
[root@VM-0-3-centos zxgtest]# vim test.R
[root@VM-0-3-centos zxgtest]# Rscript test.R
[1] 1 2 3 4 5

2.3、常见的函数

  输入输出print()函数

> print("Hello R!")
[1] "Hello R!"
> 

  拼接cat()函数

> cat("张三","今年",18,"岁",'n')
张三 今年 18 岁 
> 

  cat()函数输出到文件中,append=TRUE输出到文件中不覆盖,追加到后面

> cat("输出到文件中",file="/zxgtest/test.txt")

> cat("追加数据不覆盖之前文件数据",file="/zxgtest/test.txt",append=TRUE)

  sink() 函数可以把控制台输出的文字直接输出到文件中去:

> sink("/zxgtest/sinkfile.txt")
#这样会将控制台输出的数据全部存储到指定的文件中,控制台不输出数据,显然这不是我们需要的效果
#split=TRUE 可以实现既将控制台输出的文件保存到文件中,又在控制台显示
> sink("/zxgtest/sinkfile.txt",split=TRUE)
#如果想取消输出到文件,可以调用无参数的 sink :
>sink()

  readLines() 从文件中读入数据

 

  获取当前工作目录,设置当前工作目录,查看当前工作目录

# 当前工作目录
print(getwd())

# 设置当前工作目录
setwd("/zxgtwst/test2")

# 查看当前工作目录
print(getwd())

3、R语言两种注释方式

3.1、单行注释 #

# 变量赋值
a <- 9

3.2、多行注释"

if(TRUE) {
    "
    这是一个多行注释的实例
    注释内容放在单引号或双引号之间
    "
}

4、基础运算

优先级 符号 含义
1 () 括号
2 ^ 乘方运算
3 %% 整除求余
  %/% 整除
4 * 乘法
  / 除法
5 + 加法
  - 减法
> 1 + 2*3
[1] 7
> (1+2)*3
[1] 9
> 3 / 4
[1] 0.75
> 3.4-1.2
[1] 2.2
> 1 -4 * 0.5 ^ 3
[1] 0.5
> 8 / 3 %% 2
[1] 8
> 8 / 4 %% 2
[1] Inf
> 3 %% 2^2
[1] 3
> 10 / 3 %/% 2
[1] 10

  关系运算符(>  <  ==  !=  >=  <=)

> v <- c(2,4,6,9)
> t <- c(1,4,7,9)
> print(v>t)
[1]  TRUE FALSE FALSE FALSE
> print(v < t)
[1] FALSE FALSE  TRUE FALSE
> print(v == t)
[1] FALSE  TRUE FALSE  TRUE
> print(v!=t)
[1]  TRUE FALSE  TRUE FALSE
> print(v>=t)
[1]  TRUE  TRUE FALSE  TRUE
> print(v<=t)
[1] FALSE  TRUE  TRUE  TRUE
> 

  逻辑运算

运算符 描述
& 元素逻辑与运算符,将第一个向量的每个元素与第二个向量的相对应元素进行组合,如果两个元素都为TRUE则记过为TRUE,否则为FALSE
| 元素逻辑或运算符,将第一个向量的每个元素与第二个向量的相对应元素进行组合,如果两个元素中有一个为TRUE,则结果为TRUE,如果都为FALSE,则返回FALSE
逻辑非运算符,返回向量每个元素相反的逻辑值,如果元素为TRUE则返回FALSE,如果元素为FALSE则返回TRUE
&& 逻辑与运算符,只对两个向量对一个元素进行判断,如果两个元素都为TRUE,结果为TRUE,否则为FALSE
|| 逻辑或运算符,只对两个向量,对第一个元素进行判断,如果两个元素中一个为TRUE,则结果为TRUE,如果都为FALSE则返回FALSE
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/torchstar/p/15115521.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!