一起学习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)
> score
  A   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天,一周从入门到考试实战,撸起袖子加油干!

  • 8
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
R软件的介绍 R是一个开放的统计编程环境,是一种语言,R语言是从S语言演变而来的。S语言是二十世纪70年代诞生于贝尔实验室,由Rick Becker, John Chambers, Allan Wilks开发。基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,取得了巨大成功。1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,编写了一种能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。R是开源软件,代码全部公开,对所有人免费。R可在多种操作系统下运行,如Windows, Li~和UNIX等。R需要输入命令,可以编写函数和脚本进行批处理运算,语法简单灵活。目前在R网站上约有两千多个程序包,涵盖了基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等诸多方面。 R的获取与安装 R诞生于the University of Auckland的统计系。The Comprehensive R Archive Network简称CRAM,提供下载安装程序和相应软件包。 R主页http://www.r-project.org/a下载:CRAM,选择镜像(如:http://cran.cnr.berkeley.edu/ ),选择操作系统(Linux,Windows或MacOS)。 以下简述R FOR WINDOWS的安装和使用: 在R主页下可以找到R的各个版本的安装程序和源代码。点击进入:Windows (95and later),再点击:base,下载SetupR.exe,约18兆,此便是R FOR WINDOWS的安装程序。双击SetupR.exe,按照提示一步步安装即可。 安装完成后,程序会创建R程序组并在桌面上创建R主程序的快捷方式(也可以在安装过程选择不要创建)。通过快捷方式运行R,便可调出R的主窗口。 类似于许多以编程方式为主要工作方式的软件,R的界面简单而朴素,只有不多的几个菜单和快捷按钮。快捷按钮下面的窗口便是命令输入窗口,它也是部分运算结果的输出窗口,有些运算结果则会输出在新建的窗口。 主窗口上方的一些文字是刚运行R时出现的一些说明和指引。 文字下的:>符号便是R的命令提示符,在其后可输出命令;>后的矩形是光标。R一般是采用交互方式工作的,在命令提示符后输入命令,回车后便会输出结果。 在R朴素的界面下,是丰富而复杂的运算功能。 附加包的安装 install. packages(package name, dependencies=TRUE) Windows下可以用菜单Packages--} Install package(s)安装 版本的更新 主程序:Windows下面只能卸载再安装 程序包:update.packages() RStudio R语言可以独立运行,但是Rstudio作为R附加的GUI,有效的划分功能区,使输入和输出更为方便。 RStudio是可以在Mac OS X, Linux和Windows上运行在R编程语言的生产力和灵活的用户界面。是一个自由和开源编程语言和环境,提供了大量的图形和统计方法统计计算和图形。从可以快速方便地访问各种生产力工具的面向用户的界面。RStudio是一个非常实用的R语言的IDE,是一个免费的软件,特别是其服务器软件,可以将其构建在Linux服务器上,然后通过远程网页登陆访问,使得R语言使用获得了极大的方便,也可以说是一个小小的云服务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值