(应王老板要求学习一下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 |
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!