一起学习R软件吧——R软件的使用
R软件的使用
- 前言
- 数字、字符与向量
- 基础运算
- 产生有规律的序列
- 向量下标运算
- 对象和它的模式属性
- 因子
- 结语
前言
Hello CSDN! 第一次写CSDN博文,感觉和其他的博客写作方式很不一样,之前一直是膜拜其他文章。马上要考试R语言了,想通过CSDN记录我的复习过程,可能有许多不足的地方,希望大家多多指教!
数字、字符与向量
基础运算
哈哈哈哈好有意思,用CSDN写文章好高级:
#向量的赋值
x = c(1,2,3,4,5) #法一,我最喜欢这个办法
assign("x1",c(1,2,3,4,5)) #法二
c(1,2,3,4,5) -> x2 #法三
y=c(x,0,0,x1) #定义y有12个分量,两边分别是变量x,x1中间是俩0
运行结果: (^ ~ ^) 高亮
对于向量的运算,记录几个常见的:
#运算
x*y
x/y
x^2
12%/%5 # %/%为整除
12%%5 # %%为求余数
range(x) #求向量x的范围
min(x) #就不多说了哈哈哈哈
which.max(x) #表示第几个分量求到最大值
exp(x)
sqrt(x) #当自变量为向量时,返回值也为向量
sqrt(-2+0i) #复数开根时候,需要加上i呦
运行结果:
下边时与一些与向量运算有关的函数,由于复习要查漏补缺,所以就放这些啦
sum(x) #求向量x的分量之和
prod(x) #求向量x的分量的连乘积
length(x) #求向量x的分量的个数
median(x) #求向量x的分量的中位数
sd(x) #求向量x的分量的标准差
p=c(3,5,1,4,2)
sort(p)
order(p) #下标列出
sort.list(p)
运行结果:
产生有规律的序列
哇哦,第一次使用文本有些激动。下面我就要学习如何去快速生成有规律的序列啦,真是前人栽树,后人乘凉。
#等差数列
> 3.14:6
[1] 3.14 4.14 5.14
> 3:7.6
[1] 3 4 5 6 7
> 2*1:4 #等差运算优于乘法运算
[1] 2 4 6 8
> 1:7-1
[1] 0 1 2 3 4 5 6
> 1:(7-1)
[1] 1 2 3 4 5 6
#间隔数列
> seq(-5,5,by=.2)[1] -5.0 -4.8 -4.6 -4.4 -4.2 -4.0 -3.8 -3.6 -3.4 -3.2
[11] -3.0 -2.8 -2.6 -2.4 -2.2 -2.0 -1.8 -1.6 -1.4 -1.2
[21] -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8
[31] 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8
[41] 3.0 3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8
[51] 5.0
> seq(length=51,from = -5,by=.2)[1] -5.0 -4.8 -4.6 -4.4 -4.2 -4.0 -3.8 -3.6 -3.4 -3.2
[11] -3.0 -2.8 -2.6 -2.4 -2.2 -2.0 -1.8 -1.6 -1.4 -1.2
[21] -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8
[31] 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8
[41] 3.0 3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8
[51] 5.0
> #重复函数
> rep(x,2)[1] 1 2 3 4 5 1 2 3 4 5
> x>3
> [1] FALSE FALSE FALSE TRUE TRUE
is.na()检测缺失数据
is.nan()检测数据是否不确定
is.finite()检测数据是否有限
is.infinite()检测数据是否无穷
> m=c(0/1,0/0,1/0,NA)
> m
[1] 0 NaN Inf NA
> is.na(m) #检测缺失数据
[1] FALSE TRUE FALSE TRUE
> is.nan(m) #检测数据是否不确定
[1] FALSE TRUE FALSE FALSE
> is.finite(m) #检测数据是否有限
[1] TRUE FALSE FALSE FALSE
> is.infinite(m)#检测数据是否无穷
[1] FALSE FALSE TRUE FALSE
paste( )可以把其自变量连成一个字符串,并用空格隔开
#复数向量
x=seq(-pi,pi,by=pi/10)
y=cos(x)
z=complex(re=x,im=y)
plot(z)
lines(z)
对于复数运算
Re()计算实部,Im()计算复数的虚部,Mod()计算复数的模,Arg()计算复数的幅角
向量下标运算
学习到这里,我决定休息一下,用一个清醒的大脑去进行下标运算的学习。
> x=c(1,6,3,5)
> x[3]
[1] 3
> x+5
[1] 6 11 8 10
> x=c(1,6,3,5)
> x[3]
[1] 3
> x+5
[1] 6 11 8 10
> (x+5)[2]
[1] 11
> x[c(1,3)]=c(123,456)
> x
[1] 123 6 456 5
将向量中缺失数据赋为0,我觉得这个在数据预处理的时候挺有用,get一个小技巧。
> #逻辑向量
> z=c(2,3:5,NA)
> z
[1] 2 3 4 5 NA
> z[is.na(z)]=0
> z
[1] 2 3 4 5 0
定义分段函数
> x
[1] 2 -6 3
> y=numeric(length(x)) #产生数值型向量
> y
[1] 0 0 0
> y[x<0]=1-x[x<0]
> y[x>=0]=1+x[x>=0]
> y
[1] 3 7 4
下边的也是一些基础向量下标操作,这里的A是字符串呦。
> #运算
> v=c(1:10)
> v[1:4]
[1] 1 2 3 4
> v[c(1,4,5)]
[1] 1 4 5
> v[-(1:5)]
[1] 6 7 8 9 10
> #定义向量还可以给元素加名字呦
> score=c(A=99,B=200,C=30)
> scoreA B C 99 200 30
> score["B"]B
200
> #也可以之后在定义
> age=c(1,2,3)
> names(age)=c('A','B','C')
> age
A B C
1 2 3
对象和它的模式属性
R语言是一种基于对象的语言,R对象分为单纯对象和复合对象两种,单纯对象是所有元素都是同一种基本类型(如数值、字符串),but元素不在是对象;复合对象元素可以是不同类型的对象,每一个元素是对象。
固有属性: mode和length
向量类型: logical(逻辑型)、numeric(数值型)、complex(复数型)、character(字符型)等
z=1:5
is.character(z) #判断是否为某类型
[1] FALSE
as.character(z) #强制转换
[1] “1” “2” “3” “4” “5”
score=c(A=99,B=200,C=30)
attributes(score)
$names
[1] “A” “B” “C”
#更换属性
attr(score,“names”)=c(“z”,“x”,“c”)
attr(score,“type”)=“student”
score
z x c
99 200 30
attr(,“type”)
[1] “student”
attributes(score)
$names
[1] “z” “x” “c”
$type
[1] “student”
因子
factor()函数 把向量编码成一个因子
table()可以对因子进行计数
tapply() 可以实现分组计算
gl()可以方便的产生因子
> #因子
> sex=c("M","F","M","M","F")
> sexf=factor(sex)
> sexf
[1] M F M M F
Levels: F M
> height=c(174,165,180,171,160)
> tapply(height,sex,mean)F M
162.5 175.0
> gl(4,5)[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
Levels: 1 2 3 4
> gl(3,1,15)[1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Levels: 1 2 3
其中gl()函数的参数如下:
结语
感谢大家能够看到这里,距离R语言考试还有7天,一周从入门到考试实战,撸起袖子加油干!
一起学习R软件吧——R软件的使用相关推荐
- 《大数据架构和算法实现之路:电商系统的技术实战》——1.5 相关软件:R和Mahout...
本节书摘来自华章计算机<大数据架构和算法实现之路:电商系统的技术实战>一书中的第1章,第1.5节,作者 黄 申,更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...
- 零基础自学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. ...
- R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
全文下载链接:http://tecdat.cn/?p=11974 R2WinBUGS软件包提供了从R调用WinBUGS的便捷功能.它自动以WinBUGS可读的格式写入数据和脚本,以进行批处理(自1.4 ...
- R软件及R studio的下载与安装
1.下载R软件:浏览器搜索R--点第一个--点download R--选择清华大学的镜像--进行下载 R每年大概更新4-5个版本 2.下载R studio:浏览器搜索R--点击上面Download-- ...
- 零基础自学R语言 1 R语言介绍 1.4 基本R软件的用法
零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.4 基本R软件的用法 1.4.1 基本运行 1.4.2 项目目录 1 R语言介绍 1.4 基本R软件的用法 1.4.1 基本运行 在M ...
- 使用(运行)win+r 快速打开所有的软件
前言 电脑里安装的软件越来越多,桌面的快捷方式也太多了显得很凌乱.要是有个方法可以快速打开我们的常用软件就好. 使用运行打开cmd 我们都知道使用运行窗口可以打开cmd. 使用运行打开其他软件 同理我 ...
- 软件调试学习笔记(五)—— 软件断点内存断点
软件调试学习笔记(五)-- 软件断点&内存断点 调试的本质 软件断点 软件断点的执行流程 分析INT 3执行流程 实验:处理软件断点 内存断点 内存断点的执行流程 实验:处理内存断点 调试的本 ...
- python3软件怎么用_Python3学习之路~4.4 软件目录结构规范
为什么要设计好目录结构? 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 可维护性高: 定义好组织 ...
- delphi 软件在线人数统计_8款值得学习的科研论文作图软件
写在前面 科研绘图在国外已经非常流行,且被高度重视,国内科研人员也越来越重视科研方面的绘图. 不少科研工作者,包括在读的博士生.研究生等可能都有这样的体会:千辛万苦得来的实验结果,不知道该如何展现给别 ...
- 【Linux入门学习之】Ubuntu常用软件
[Linux入门学习之]Ubuntu常用软件 速配指南之软件参考 本文定位:作为速配指南的补充,列出国内用户比较常用的软件.请将论坛软件推荐版块的内容逐步转移至wiki,而非本文. 本文作用:为新手指 ...
最新文章
- 使用python 打造中国的电影光魔
- WIN7下的VS2008在调试OpenCV_2.3.1的程序时报错丢失tbb_debug.dll的解决办法~
- mysql odbc安装提示找不到ian_如何解决mysql odbc安装丢失的问题
- java接口课程_用java定义一个接口,用于查询课程
- 亚马逊云服务开通指南_亚马逊弹性容器服务初学者指南
- [Linux] 如何让linux加载当前目录的动态库
- 最大子段和之分治递归法
- Hadoop2.8集群安装详细教程
- web网络图片查看器Android
- 一道装呀(状压)DP
- 树莓派和Ubuntu16 一些软件的安装
- 6 检验并打印魔方矩阵c语言,检验并打印魔方矩阵
- Windows VM虚拟机安装苹果雪豹操作系统
- alpha 冲刺 —— 十分之一
- 二十年后的家乡(小学习作)
- linux连接交换机命令,Linux连接路由器交换机防火墙Console接口的5个实用命令
- WebView网页打不开原因之一(及自己遇到的一些WebView问题记录)
- 关于 网易云音乐 我喜欢的音乐 排序无法改为添加时间 排序无法还原 的问题
- 文献:利用自驱动分子马达并行计算子集和问题 Parallel computation with molecular-motor-propelled agents...(PNAS)
- 如何在WordPress中使用Distraction Free全屏编辑器