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. 《大数据架构和算法实现之路:电商系统的技术实战》——1.5 相关软件:R和Mahout...

    本节书摘来自华章计算机<大数据架构和算法实现之路:电商系统的技术实战>一书中的第1章,第1.5节,作者 黄 申,更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  2. 零基础自学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. ...

  3. R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

    全文下载链接:http://tecdat.cn/?p=11974 R2WinBUGS软件包提供了从R调用WinBUGS的便捷功能.它自动以WinBUGS可读的格式写入数据和脚本,以进行批处理(自1.4 ...

  4. R软件及R studio的下载与安装

    1.下载R软件:浏览器搜索R--点第一个--点download R--选择清华大学的镜像--进行下载 R每年大概更新4-5个版本 2.下载R studio:浏览器搜索R--点击上面Download-- ...

  5. 零基础自学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 ...

  6. 使用(运行)win+r 快速打开所有的软件

    前言 电脑里安装的软件越来越多,桌面的快捷方式也太多了显得很凌乱.要是有个方法可以快速打开我们的常用软件就好. 使用运行打开cmd 我们都知道使用运行窗口可以打开cmd. 使用运行打开其他软件 同理我 ...

  7. 软件调试学习笔记(五)—— 软件断点内存断点

    软件调试学习笔记(五)-- 软件断点&内存断点 调试的本质 软件断点 软件断点的执行流程 分析INT 3执行流程 实验:处理软件断点 内存断点 内存断点的执行流程 实验:处理内存断点 调试的本 ...

  8. python3软件怎么用_Python3学习之路~4.4 软件目录结构规范

    为什么要设计好目录结构? 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 可维护性高: 定义好组织 ...

  9. delphi 软件在线人数统计_8款值得学习的科研论文作图软件

    写在前面 科研绘图在国外已经非常流行,且被高度重视,国内科研人员也越来越重视科研方面的绘图. 不少科研工作者,包括在读的博士生.研究生等可能都有这样的体会:千辛万苦得来的实验结果,不知道该如何展现给别 ...

  10. 【Linux入门学习之】Ubuntu常用软件

    [Linux入门学习之]Ubuntu常用软件 速配指南之软件参考 本文定位:作为速配指南的补充,列出国内用户比较常用的软件.请将论坛软件推荐版块的内容逐步转移至wiki,而非本文. 本文作用:为新手指 ...

最新文章

  1. 使用python 打造中国的电影光魔
  2. WIN7下的VS2008在调试OpenCV_2.3.1的程序时报错丢失tbb_debug.dll的解决办法~
  3. mysql odbc安装提示找不到ian_如何解决mysql odbc安装丢失的问题
  4. java接口课程_用java定义一个接口,用于查询课程
  5. 亚马逊云服务开通指南_亚马逊弹性容器服务初学者指南
  6. [Linux] 如何让linux加载当前目录的动态库
  7. 最大子段和之分治递归法
  8. Hadoop2.8集群安装详细教程
  9. web网络图片查看器Android
  10. 一道装呀(状压)DP
  11. 树莓派和Ubuntu16 一些软件的安装
  12. 6 检验并打印魔方矩阵c语言,检验并打印魔方矩阵
  13. Windows VM虚拟机安装苹果雪豹操作系统
  14. alpha 冲刺 —— 十分之一
  15. 二十年后的家乡(小学习作)
  16. linux连接交换机命令,Linux连接路由器交换机防火墙Console接口的5个实用命令
  17. WebView网页打不开原因之一(及自己遇到的一些WebView问题记录)
  18. 关于 网易云音乐 我喜欢的音乐 排序无法改为添加时间 排序无法还原 的问题
  19. 文献:利用自驱动分子马达并行计算子集和问题 Parallel computation with molecular-motor-propelled agents...(PNAS)
  20. 如何在WordPress中使用Distraction Free全屏编辑器

热门文章

  1. 僵尸启示录开始 Scheming Through Ep1 Mac游戏介绍
  2. oracle 函数 如何编写
  3. 4种常用扒站工具(webzip、ha_TeleportPro、Offline Explorer、wget)
  4. c语言转化音乐格式转换器安卓版,MP3格式转换器APP
  5. 使用python简单免费转换视频格式
  6. 计算机网络基础知识大全
  7. IDEA的xml注释的顶格和空格问题
  8. java笔试题库_java笔试题50道 收藏版
  9. MySQL Workbench 6.3CE 汉化及使用教程(转载)
  10. 关于Xshell的使用和网络攻防原理