r语言x c(-1 -2),【软件】R语言入门之向量
“R语言入门开篇,向量(vector)相关知识的介绍”
R语言是一款优秀统计学编程语言,本文介绍R语言的几个重要命令,以及R语言中非常重要的一种数据结构-向量(Vector)的相关知识。
本文使用的开发工具为RGui,以">"开头的语句表示输入的命令,没有">"开头的语句是上一个语句的输出结果。
01
—
常用命令
help()
help()为帮助命令,在()中输入求助的内容并执行(按下回车键),返回网页帮助文档
> help(help)
以上命令返回如下网页文档
ls()
ls()命令显示workspace中存储的对象名称
> ls()character(0)> x ls()[1] "x"> y ls()[1] "x" "y"
rm()
rm()为删除命令,在()中输入workspace中存储的对象名称并执行,将删除workspace中该对象
> ls()[1] "x" "y"> rm(x)> ls()[1] "y"
rm(list=ls())命令能够清空workspace中所有对象
> ls()[1] "c" "e" "v" "x" "y" "z"> rm(list=ls())> ls()character(0)
02
—
向量(vector)
数据对象的简单说明
R语言中包含几种基本数据类型:
数值型(numeric)
字符型(character)
逻辑型(logical)
复数型(complex)
raw型
缺失型(missing value)
将上述基本数据以一定的规则组织起来形成的数据结构:
向量(vector)
矩阵(matrix)
数组(array)
因子(factor)
列表(list)
数据帧(data frame)
向量的赋值
1)c()函数
c()函数可将()中包含的向量、数字等元素顺序连接成为一个向量
> x x[1] 1 2 3 4 5> y y[1] 1 2 3 4 5
2)向量的赋值表达式
可使用或assign函数赋值,前两者用于向左赋值
> x c(1,1,1,1,1)->y> assign("z",c(2,2,2,2,2))> n=c(3,3,3,3,3)> h x[1] 0 0 0 0 0> y[1] 1 1 1 1 1> z[1] 2 2 2 2 2> n[1] 3 3 3 3 3> h[1] 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2
向量的算术运算
1)规则
向量之间进行算术运算时,向量中的每一个元素将进行相同的运算操作
> x[1] 1 1 1 1 1> y[1] 1 2 3 4 5> x+y[1] 2 3 4 5 6> x-y[1] 0 -1 -2 -3 -4> x+2*y[1] 3 5 7 9 11
当两个向量的长度不相同时,较短的向量以自身元素循环的形式进行补充,直至与较长的向量中元素个数一致。
> x[1] 1 -1> y[1] 0 0 0 0 0 0 0 0> x+y[1] 1 -1 1 -1 1 -1 1 -1
2)算术运算符
+ 加
- 减
* 乘
/ 除
^ 乘方
3)函数
sin() 求正弦值
cos() 求余弦值
tan() 求正切值
log() 求底数为10的对数值
exp() 求底数为e的指数
sqrt() 求平方根
sqrt(-2) 返回NaN
sqrt(-2+0i) 返回复数
> c c[1] NaN> x x[1] 0+1.414214i
max() 求最大值
min() 求最小值
median() 求中位数
range() 求最大值和最小值,相当于c(min(),max())
length() 求向量中元素个数
sum() 求向量中所有元素之和
prod() 求向量中所有元素之积
mean() 求样本均值
var() 求样本方差,var(x)等价于sum((x-mean(x))^2)/(length(x)-1)
sd() 求样本标准差
quantile() 求百分位数
cov(x, y) 求向量x和y的协方差
cor(x,y) 求向量x和y的相关系数
sort() 返回递增排序后的向量
规则序列的生成
1)":"运算符
生成间隔为1的递增或递减数列
> x x[1] 1 2 3 4 5 6 7 8 9 10> y y[1] 10 9 8 7 6 5 4 3 2 1
2)seq()函数
seq()函数生成规则序列
seq(from=1, to=1, by=(to-from)/(length.out-1), length.out=NULL, along.with=NULL, ...)
---by 表示步长或间隔
> seq(1,10)[1] 1 2 3 4 5 6 7 8 9 10> seq(from=1,to=10,by=2)[1] 1 3 5 7 9
3)rep()函数
rep()函数生成重复序列,设置参数times或each可实现不同的重复形式
> rep(1,5)[1] 1 1 1 1 1> rep(c(1,2,3),times=2)[1] 1 2 3 1 2 3> rep(c(1,2,3),each=2)[1] 1 1 2 2 3 3
逻辑向量
与上述介绍的数值型向量类似,R语言可以定义逻辑向量。逻辑向量的元素可以是TRUE、FALSE、NA(无效值)
1)赋值
> l l[1] TRUE FALSE NA NA FALSE
条件表达式可生成逻辑向量
> x x_bigger_than_55> x[1] 1 2 3 4 5 6 7 8 9 10> x_bigger_than_5[1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
2)条件运算符
> 大于
< 小于
== 等于
>= 大于等于
<= 小于等于
!= 不等于
& 且
| 或
!非
> x1[1] 0 1> !x1[1] TRUE FALSE> x1[1] 0 1> x2[1] 1 0> x1&x2[1] FALSE FALSE> x1|x2[1] TRUE TRUE
缺失值
当元素是无效值或缺失值的时候,元素被赋予NA值(not avaliable的缩写)。一般情况下,作用于NA值的操作将得到NA值。
> x[1] 1 2 3 NA> x+1[1] 2 3 4 NA
is.na(x)函数逐个判断向量x中的元素是否为NA值
> x is.na(x)[1] FALSE FALSE FALSE TRUE FALSE TRUE
R语言中还有第二类缺失值,即NaN(Not a Numbe的缩写)。is.na()函数能够不加区别地识别NA值和NaN值,is.nan()函数仅识别NaN值。
> x x[1] 1 2 NaN NA 3> is.na(x)[1] FALSE FALSE TRUE TRUE FALSE> is.nan(x)[1] FALSE FALSE TRUE FALSE FALSE
字符向量
字符型数据即包含在单引号或双引号中的一串字符
1)赋值
> x x[1] "x" "y" "How" "Jun" "R"
2)转义字符
在字符型数据中,称为转义字符,使用?Quotes命令可查看所有转义字符。
3)paste()函数
paste()函数能够逐个连接两个或多个字符向量中每一个元素
paste(..., sep="", collapse = NULL)
---... 一个或多个R对象,被转换为字符串
---sep 分隔符
> c c[1] "1kg" "2kg" "3kg" "4kg" "5kg"> x x[1] "Jun-1" "Jun-2" "Jun-3" "Jun-4" "Jun-5"> x x[1] "2020-6-1" "2020-6-2" "2020-6-3" "2020-6-4" "2020-6-5"
索引向量
向量名后加中括号,并在中括号中填入索引向量,可获得原向量的子集。
创建向量子集的表达式:vector[index_vector]
索引向量分为如下四种类型:
1)逻辑索引向量
逻辑索引向量使用逻辑值TRUE和FALSE进行索引,遇到TRUE值时取出作为子集的元素。当逻辑索引向量和原向量长度不一时,索引向量或循环补充或截断。
> x x[1] 1 2 3 4 5> x[x>2][1] 3 4 5> index_x x[index_x][1] 1 3 5> (x+2)[x>2&x<5][1] 5 6
2)正整数索引向量
正整数索引向量表示创建子集时取出该位置上的元素,正整数索引向量中元素的取值范围是{1,2,3,4,length(x)},R语言中第一个元素的位置为1。
> x x[1] 1 2 3 4 5 6 7 8 9 10> x[5][1] 5> x[4:8][1] 4 5 6 7 8> x[rep(c(3,5),times=3)][1] 3 5 3 5 3 5
3)负整数索引向量
负整数索引向量中表示排除该元素的意思,即在创建子集时不选择负整数的绝对值位置上的元素。
> x[1] 1 2 3 4 5 6 7 8 9 10> x[-5][1] 1 2 3 4 6 7 8 9 10> x[-(2:6)][1] 1 7 8 9 10
4)字符索引向量
当向量中的元素具有名称时,可使用名称进行索引。names()函数可以为向量中的元素添加名称,名称与数字索引相比更容易记忆。
> x names(x) x["fish"]fish3> xapple cat fish1 2 3
索引赋值操作:
> x x[1] -5 -4 -3 -2 -1 0 1 2 3 4 5> x[x<0] x[1] 5 4 3 2 1 0 1 2 3 4 5
03
—
描述性统计实践
使用某班级的身高数据作为练习的数据集,对数据集进行描述性统计。
1)输入数据:
> s s[1] 176 170 173 179 170 163 168 167 178 173 172 169 178 182 165 172 174 170 166[20] 167 172 164 172 163 176 163 170 174 174 173 169 165 170 172 172 159 163 155[39] 154 156 158 161 162 165 162 163 158 160 161 162 159 156 156 162 156 157 166[58] 155 156 158 157 162 162 155 157 156 157 157
2)数值描述性度量
计算数据集的样本容量、平均值、极差、样本方差、样本标准差、最小值、下四分位数、中位数、上四分位数、最大值
> mean_s var_s sd_s len_s min_s Q1 median_s Q3 max_s range_s result_s names(result_s) result_slen mean range var sd min Q168.000000 165.058824 28.000000 52.951712 7.276793 154.000000 158.000000median Q3 max163.500000 172.000000 182.000000
summary()函数能够一次性计算出最小值、下四分位数、中位数、样本均值、上四分位数、最大值;
fivenum()函数能够一次性计算出最小值、下四分位数、中位数、上四分位数、最大值。
> summary(s)Min. 1st Qu. Median Mean 3rd Qu. Max.154.0 158.0 163.5 165.1 172.0 182.0> fivenum(s)[1] 154.0 158.0 163.5 172.0 182.0
3)直方图和箱线图
> hist(s,main="",col="pink",xlab="height (cm)",breaks=8)
boxplot(s,col="pink")
4)判断异常值
z得分判据:abs(z)>3
> s[abs((s-mean_s)/sd_s)>3]numeric(0)
盒子图判据:>Q3+3*(Q3-Q1) or <Q1-3*(Q3-Q1)
> s[(s>Q3+3*(Q3-Q1))|(s
5)判断数据的正态性
判据1:四分位间距与标准差之比IQR/s≈1.3时,数据近似正态
> (Q3-Q1)/sd_s75%1.923925
判据2:正态概率图
> qqnorm(s)> qqline(s,col=2,lwd=2)
r语言x c(-1 -2),【软件】R语言入门之向量相关推荐
- 小学生数学测试软件编写分析,通过C语言编写小学生数学测试软件C语言课程设计...
<通过C语言编写小学生数学测试软件C语言课程设计>由会员分享,可在线阅读,更多相关<通过C语言编写小学生数学测试软件C语言课程设计(14页珍藏版)>请在人人文库网上搜索. 1. ...
- 小学生数学测试软件c语言流程图,小学生数学测试软件-C语言课程设计
小学生数学测试软件-C语言课程设计 C语言课程设计 设计期限 2013 年 6 月 17 开始 至 2013 年 6 月 20 结束 系 别 信息管理与信息系统 专 业 班级 学生姓名 学号 指导教师 ...
- 小学生数学测试软件编写分析,通过c语言编写小学生数学测试软件c语言课程设计.pdf...
C 语言课程设计 设计期限 20XX年 6 月 17 开始 至 2013 年 6 月 21 结束 系 别 信息管理与信息系统 专 业 36 班级 112030601 学生姓名 邓茂华 学号 11203 ...
- 使c语言程序变成流程图的软件,c语言流程图生成器
c语言流程图生成器是一款极佳的根据源码生成流程图的工具.软件可以帮助程序员更好地理解程序,制作文档和可视化代码.支持C,C++,VC++(Visual C++ .NET),Delphi(Object ...
- 一个名叫 c语言 的手机题库软件,C语言二级考试题库
C语言2级考试必备练习app!<C语言二级考试题库>不仅能为你提供300道上机操作题的练习资源,还可以让你在这款软件中享受到安装后可离线浏览,不用联网也可以浏览,速度快,无广告! 软件详情 ...
- 关于C语言有没有答疑的软件,C语言答疑|有关arr的小知识
原标题:C语言答疑|有关&arr的小知识 宜 预习知识 复习整理 2017年 陆月叁日 忌 虚度光阴 过度游戏 考期倒计时--15天-- Hello万票 我们又见面啦 不知道大家最近小日子过的 ...
- c语言计算打字速度测试软件,C语言 - 在线打字测试(dazi.kukuw.com)
C语言 贡献者:廾匸 类别:代码 时间:2020-02-11 21:04:41 收藏数:10 评分:0 返回上页 举报此文章 请选择举报理由: 广告/谣言/欺诈 政治敏感 色情/违法信息 垃圾文章 其 ...
- c语言编辑的库存管理软件,C语言课程设计,商品库存管理系统怎么做啊?
我教你.. #include #include #include #include int count=0; struct commodity { int id; /*商品编号*/ int numbe ...
- 零基础自学R语言 1 R语言介绍 1.5 RStudio软件
零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.5 RStudio软件 1.5.1 介绍 1.5.2 项目 1.5.3 帮助 1.5.4 使用技巧 1.5.4.1 使用历史命令 1. ...
- Day01零基础自学R语言(最详细教程)——R软件安装
R语言简介 R语言是当今排名进入前十五的程序设计语言,也是大数据处理的常用工具之一. R语言是由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman所开发的,因为两人名字开头都是R ...
最新文章
- OutOfMemoryError与StackOverFlowError
- 函数参数-函数参数的使用以及作用
- C++STL之string (转)
- Mysql查询优化——中间表方法优化count()统计大数据量总数问题
- 探索SQL Server数据库的DATABASEPROPERTYEX()函数
- java xml stax_Java StAX解析器示例以读取XML文件
- Zookeeper 入门指北
- 通过EasyRecovery如何恢复被永久删除的音频?
- Unity读取内部、外部资源详解
- cd linux制作u盘启动盘,【cdlinux u盘启动】cdlinux制作U盘启动盘详细教程
- 测试自动化风险或成功的条款
- 瑞星发布可防未知勒索病毒工具 将逐月公布更多漏洞
- 6.2.1.1UE maximum output power - EIRP and TRP——翻译
- 游戏开发学习路线(需要学什么)
- 既然心动,那就赶快行动吧!
- git重新设置用户名密码
- 冒泡排序动态示意【Scratch】
- 2021-03-18-8400
- 无胁科技-TVD每日漏洞情报-2022-11-21
- 计算机专业 本硕连读,麻省理工大学计算机专业本硕连读几年?
热门文章
- 《大话移动 APP 测试》
- 关于Metasploit开发环境的搭建
- .net 基元类型,引用类型和值类型
- 腾讯2013年校园招聘笔试试题
- Object-c基础之一:#import,NSLog(),数据类型
- python pip安装指定版本unittest_你们想要的unittest用例失败重运行,解决方案来啦!...
- 乐理 music theory
- 符号未定义Java_Java ODBC数据源(未定义符号:SQLAllocEnv)
- html焦点图自动播放纯代码,jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)...
- 北邮高级语言设计基于java期末_北邮《高级语言程序设计》第三次阶段作业带答案...