R语言基础学习——D02

20190423内容纲要:

  1、前言

  2、向量操作

    (1)常规操作

    (2)不定长向量计算

    (3)序列

    (4)向量的删除与保留

  3、列表详解

    (1)列表的索引

    (2)列表得元素属性

    (3)更改列表元素

    (4)删除列表元素

    (5)合并两个列表

    (6)将列表转换为向量

  4、推荐

1、前言

怕什么真理无穷,进一寸有进一寸的欢喜。

先随便玩点什么?

>ls()
#ls查看当前创建的变量,没有。那我们创建几个变量
>data <- c(,,,)
>string <- "I like R"
>ls()
#那么如果想删除变量呢
>rm(data)
>ls()

感觉跟linux命令太像了!有时间把linux的学习笔记整理一下!!!

下面说两个小技巧:

#(1)换行。
# 不要把一句话输完,缺一个括号啊什么的,回车它会显示一个“+”号,这样就可以接着写语句,算是换行了
>mylist <- list(stud.id=1234,
+ stud.name="Tom",
+ stud.marks=c(12, 3, 14, 25, 18))
#(2)清屏
Ctrl + L

2 向量操作

(1)常规操作

# 创建向量
>a <- c(,,,)
#()查看长度length
>length(a)
#()查看类型mode
>mode(a)
#()数字类型强行转成字符型
>c <- c(,,, "r")
>mode(c)
#()更改向量中的元素
>c[] <- "test"
>c
#)可以对向量中的每一个元素都求平方根
>x <- c(,,,)
>y <- sqrt(x)
#()对向量进行加减计算当两个长度不等的向量相加会是怎样的呢???
>z <- x + y

 (2)不定长向量计算

#(7)当两个长度不等的向量相加,不是补零,而是将短的循环与长的加一起!python中的广播?
#不同长度的向量相加时需要特别注意长的对象长度不是短的对象长度的整倍数
> x <- c(1, 1, 1, 1, 1)
> y <- c(2, 2, 2)
> z <- x + y
Warning message:
In x
+ y : 长的对象长度不是短的对象长度的整倍数
> x <- c(1, 1, 1, 1, 1, 1)
> y <- c(2, 2, 2)
> z <- x + y
> z
[1] 3 3 3 3 3

(3)序列

#(8)生成序列
#生成序列,从1开始10结束,步长为2
> x <- seq(1,10,2)
> x
[1] 1 3 5 7 9
#生成循环序列,序列数5,循环10
> x <- rep(5,10)
> x
[1] 5 5 5 5 5 5 5 5 5 5
#生成循环序列,序列数1:3,循环3次
> rep(1:3, 3)
[1] 1 2 3 1 2 3 1 2 3
#生成10个均值为0,方差为1的随机数
> rnorm(10)
[1] -1.6103872 -1.3784579 1.8143056 0.7482350 2.5612867 -1.5183595 -0.6851633 -1.0225507 0.2810904 0.1618640
#生成6个均值为6,方差为2的随机数
> rnorm(6, mean=6, sd=2)
[1] 5.792479 7.257183 7.816276 5.060411 6.039296 3.343846

(4)删除和保留向量

#(9)删除向量中的一个元素
> x <- c(0, -3, 4, -1, 45, 98, -12)
#只保留大于0的
> x[x>0]
[1] 4 45 98
#只保留小于等于2或者大于5的
> x[x<=-2 | x>5]
[1] -3 45 98 -12
#不要第五个
> x[-5]
[1] 0 -3 4 -1 98 -12
#不要前三个
> x[-(1:3)]
[1] -1 45 98 -12

3 列表详解

首先创建一个列表。增删改查都有。

> mylist <- list(stud.id=1234,
+ stud.name="Tom",
+ stud.marks=c(12, 3, 14, 25, 18))
> mylist
$stud.id
[1] 1234 $stud.name
[1] "Tom" $stud.marks
[1] 12 3 14 25 18

(1)查列表的索引(切片)

首先,R语言中的列表的索引(切片)不太一样,单、双括号都可以,提取的元素不一样。

此外,不是从0开始!不是从0开始!不是从0开始!

> x <- 1:1000
> length(x)
[1] 1000
#第一种
> mylist[[1]]
[1] 1234
#第二种
> mylist[1]
$stud.id
[1] 1234
#第三种
> mylist$stud.id
[1] 1234 > mylist[[0]]
Error in mylist[[0]] :
attempt to select less than one element in get1index <real>

(2)查列表的元素属性

#查看类型
> mode(mylist[[1]])
[1] "numeric"
> mode(mylist[1])
[1] "list" #查看名称,其实也算是切片的一种。类似python中的字典,取key,上面的索引取value
> names(mylist)
[1] "stud.id" "stud.name" "stud.marks"

(3)更改列表元素

#添加元素
> mylist$parents <- c("man", "Jutice")
> mylist
$id
[1] 1234 $names
[1] "Tom" $marks
[1] 12 3 14 25 18 $parents
[1] "man" "Jutice"

(4)删除列表元素

> length(mylist)
[1] 4
> mylist <- mylist[-4]
> mylist
$id
[1] 1234 $names
[1] "Tom" $marks
[1] 12 3 14 25 18

(5)合并两个列表

> other <- list(age=19, sex="male")
> other
$age
[1] 19 $sex
[1] "male" > newlist <- c(mylist, other)
> newlist
$id
[1] 1234 $names
[1] "Tom" $marks
[1] 12 3 14 25 18 $age
[1] 19 $sex
[1] "male"

(6)将列表变成一个向量unlist

> unlist(newlist)
id names marks1 marks2 marks3 marks4 marks5 age sex
"" "Tom" "" "" "" "" "" "" "male"

4、推荐

  其实最近最近关于R语言的学习断了快半个月了,没怎么看这方面的。有时间整理一下PLC的资料!!!

推荐几个python实战项目吧。有时间可以试一试:别光说不做!!!

(1)python实战项目 | python制作天气查询软件  https://mp.weixin.qq.com/s/Yca8RM_ivxND48NVM4qffg

(2)python实战项目 | python创建微信机器人  https://mp.weixin.qq.com/s/LQ_4GcI9c_MeBTpQKc7eAg

我是尾巴~

人生在世,需要一点高于柴米油盐的品相!

别失去希望,再坚持一下!

D02-R语言基础学习的更多相关文章

  1. 从零开始系列-R语言基础学习笔记之二 数据结构(二)

    在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...

  2. 从零开始系列--R语言基础学习笔记之一 环境搭建

    R是免费开源的软件,具有强大的数据处理和绘图等功能.下面是R开发环境的搭建过程. 一.点击网址 https://www.r-project.org/ ,进入"The R Project fo ...

  3. D01-R语言基础学习

    R语言基础学习——D01 20190410内容纲要: 1.R的下载与安装 2.R包的安装与使用方法 (1)查看已安装的包 (2)查看是否安装过包 (3)安装包 (4)更新包 3.结果的重用 4.R处理 ...

  4. D03-R语言基础学习

    R语言基础学习——D03 20190423内容纲要: 1.导入数据 (1)从键盘输入 (2)从文本文件导入 (3)从excel文件导入 2.用户自定义函数   3.R访问MySQL数据库 (1)安装R ...

  5. D02——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D02 20180801内容纲要: 1 字符串的系列操作 2 集合 3  文件的读写 4 字符编码转换 5 小结 6 练习:三级菜单(有彩蛋) 1 字符串的系列操 ...

  6. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  7. D03——C语言基础学习PYTHON

    C语言基础学习PYTHON——基础学习D03 20180804内容纲要: 1 函数的基本概念 2 函数的参数 3 函数的全局变量与局部变量 4 函数的返回值 5 递归函数 6 高阶函数 7 匿名函数 ...

  8. R语言可视化学习笔记之添加p-value和显著性标记

    R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline   上篇文章中提了一下如何通过ggpubr ...

  9. R语言基础画图/绘图/作图

    R语言基础画图/绘图/作图 R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介 ...

随机推荐

  1. linux_制作本地yum源

    新建文件夹 mkdir /root/guazai 并将本地磁盘挂载到当前文件夹 mount -o loop /dev/cdrom /root/guazai/ 新建文件夹 mkdir /mnt/loca ...

  2. 【转】CentOS 7 安装配置 NFS

    环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind nfs 的配置文件 /etc/exp ...

  3. shell脚本清空redis库缓存

    前提: 现在做的一个业务系统,用了redis做缓存. 系统做了缓存,通常在系统正常使用的过程中,可以节省很多系统资源,特别是数据库资源. 但是,在开发.测试或者系统遇到问题的时候,也有很麻烦的事情. ...

  4. shell 报错 /bin/bash^M: bad interpreter: No such file or directory

    shell 执行报错: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory 原因:window和linux 的文件格式 ...

  5. 通过http.client解析url返回的数据时为什么中文变成了unicode码

    今天在解析json数据的时候得到了一堆这样的数据:{"errNum":0,"errMsg":"success","retData& ...

  6. DDR中常用概念

    一.DDR中的基本术语 (2)逻辑Bank SDRAM的内部是一个存储阵列,类似于一张表格.和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),就可以准确地找到所需要的单元格, ...

  7. Docker Swarm集群部署

    一.系统环境 1)服务器环境 节点名称 IP 操作系统 内核版本 manager 172.16.60.95 CentOs7 4.16.1-1.el7.elrepo.x86_64 node-01 172 ...

  8. Java应用分类

    Java应用分类     一.应用程序.指在操作系统上直接运行的,不是浏览器,Java环境用本机的,需要在客户端安装,Java环境可以一起安装.         1.GUI图形界面应用程序       ...

  9. android-基础编程-RecyclerView

    以后android-基础编程*都是控件demo里面的,不再累赘重写.直接介绍控件使用. RecyclerView is a more advanced and flexible version of ...

  10. 51nod 1239 欧拉筛模板

    #include<iostream> #include<cmath> #include<cstring> #include<cstdio> #inclu ...