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. Sprign中常用注解

    1.@Component 创建类对象,相当于配置<bean/> 2.@Service 与 @Component功能相同 2.1写在ServiceImpl类上 (建议在ServiceImpl ...

  2. static与非static的区别

    static 静态的,可以修饰变量或者方法 用于变量的区别 1. static 修饰的变量称为类变量或全局变量或成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存 ...

  3. PHP中两个冒号是什么意思

    类中 静态方法和静态属性的引用方法 对类的静态属性和方法的直接引用,这种情况可以不需要实例化类而直接使用“::”调用

  4. 2018.11.06 NOIP训练 简单的计数问题(计数dp)

    传送门 直接f[i][j]f[i][j]f[i][j]表示已经到第iii个位置已经找到jjj个的方案数. 简单转移一下就行了. 代码

  5. Tomcat架构解析(六)-----BIO、NIO、NIO2、APR

    对于应用服务器来说,性能是非常重要的,基本可以说决定着这款应用服务器的未来.通常从软件角度来说,应用服务器性能包括如下几个方面: 1.请求处理的并发程度,当前主流服务器均采用异步的方式处理客户端的请求 ...

  6. oracle 操作,偶尔记一下

    一.根据更新时间排序 1.插入insert into t_user t (t.user_id,t.user_name,t.create_time,t.update_time)values('10',' ...

  7. 轻松建立Silverlight开发环境

    创建Silverlight 4开发环境,微软提供最简单的方法是使用Web Platform Installer,进行“一键安装”, 下载安装后,Web Platform Installer会自动检测哪 ...

  8. C++的重载流输出运算符

    // 下列代码输出什么?#include <iostream>#include <string>// typedef basic_ostream<char> ost ...

  9. TCP、UDP之三次握手四次挥手

    1. http协议的简介 HTTP,HyperText Transfer Protocol.超文本传输协议,是互联网上应用最为广泛的一种网络协议.基于TCP的协议,HTTP是一个客户端和服务器端请求和 ...

  10. C#-vs2012学习笔记-惊奇于vs的强大和便利

    网站常用功能自动完成,包括网页和数据库.