【用R做一个非均匀骰子】——《R语言入门与实践》读书笔记:第一、二章

个人简介

  • 作者简介:大家好,我是小白鹰,专注与医学相关的数据科学、机器学习和人工智能。
  • 个人主页:星空下的小白鹰
  • 支持我:点赞 + 收藏 + 留言
  • 系列专栏:
  • 座右铭:宝剑锋从磨砺出,梅花香自苦寒来

目录

一、知识准备

第一章:R基础

1.1R的用户界面

1.2对象

1.3函数

1.4可放回抽样

1.5编写自定义函数

1.6参数

1.7脚本

1.8总结

第二章:R包与帮助文档

2.1.1 install.packages & 2.1.2 library

2.2 从帮助界面获取帮助

2.3小结

二、实战代码


一、知识准备

第一章:R基础

1.1R的用户界面

用RStudio,键入(command),键入代码所在行(command line)。

命令行中“”表示返回两个整数值之间的所有整数。

如果是小数,见如下代码:

> 1.1:10.9
 [1]  1.1  2.1  3.1  4.1  5.1  6.1  7.1  8.1  9.1 10.1
> -1.1:10.9
 [1] -1.1 -0.1  0.9  1.9  2.9  3.9  4.9  5.9  6.9  7.9  8.9  9.9 10.9
> 0:10
 [1]  0  1  2  3  4  5  6  7  8  9 10

临时中止程序的运行,键入ctrl+c 取消命令,只不过运行R程序很长时间,终止也要很长时间。

1.2对象

保存数据就是将数据保存到R对象中。要想查看一个R对象中存储了什么内容,只需键入该对象的名称并按回车键即可。创建了一个R对象后,该对象会显示在RStudio的环境面板上。R对象的命名不能以数字开头;一些特殊的符号不能在名称中出现,如^、!、$、@、+、-、/ 或者*。R还区分大小写,就像bool型要全大写。

ls()查看所有对象。

显示加载到内存中的变量和函数的详细信息用
ls.str()

清空环境变量

rm(list = ls( ))

R使用element-wise execution元素方式执行。如果在一个运算中涉及两个或者两个以上的向量,R会将这些向量排成一行并执行一系列单独的运算。如果两个vector的长度不相等,R会在较短的向量上重复,直到其长度与较长vector相同。如果长向量的len不是短向量的整数倍,R在返回运算结果的同时也会返回一条警告信息。R的这种行为称为向量循环(这里可以对比Python中的broadcast,broadcast不能用于向量,而是用于不同结构的多维矩阵)

%*%内乘法,%o%外乘法

b[1], b[1:6], b[b %%3 == 0] mod3为0

b[c(8,4,9)]产生了新的顺序

向右赋值->, 向左赋值<- , = 向左赋值

在R控制台输入函数名就可以得到函数源代码。

1.3函数

round()实现四舍五入

factorial()实现阶乘

传递到括号中的数据称为函数的参数(argument)

sample(x = 1 : 10, size = 2)随即抽取

sample 两个arg, one is vector x, another is size。

通过args查看函数的所有参数名!

args(round)

1.4可放回抽样

sample默认without replacement。

sample(data, size= , replace = T) #with replacement

1.5编写自定义函数

my_function <- function( ) { } 

# function(arguments) body

# 如果函数主体只有一个表达式时,花括号可以省略。

R function includes three parts: function name, body and arguments.

1.6参数

在自定义函数中的括号里列出参数和它们的名称,用逗号隔开,等号赋值。

1.7脚本

用script 编写程序,File > New File > R Script, File > Save As。

Run运行一行(Ctrl + Enter),Source运行所有(Shift + Ctrl + Enter)

提取函数

R Studio内置了创建函数的工具。选中script里想转换为函数的对应代码段选中,在菜单栏中Code > Extract Function。起个名称,并包装。R会自动检查代码段中没有定义的变量,并将它们设置为该函数的参数。

1.8总结

懒,也没啥可总结,这么散的知识。

第二章:R包与帮助文档

Repetion & Visualization

2.1.1 install.packages & 2.1.2 library

新手一定要这样:

install.packages("package you need", dep = T, suggests = T)

library("xxx")

package:qplot quick plot 快速绘图

#其实c()是一种函数,用于创建数值向量,c refers to Concatenate/ Collect/ Combine

#重复一个动作的函数:replicate 复制; (精确地)仿制; 再造; 再生; 自我复制

replicate(times, args )

2.2 从帮助界面获取帮助

?package, 直接拉到最下面看代码示例

帮助界面的组成部分:description(功能描述)、usage、arguments、details、value、See Also(相关函数list)、examples(代码示例)

关键词搜索:

??haha

R会列出所有与该关键词有关的帮助界面的超链接。

2.3小结

"边做边学是学习R的最佳途径。当你突发灵感时,不妨动手尝试在R中实现你的想法。"

"如果不掌握一定数量的R命令(即词汇量),就很难自如地用R语言与计算机交流。"

"即便你的R词汇量还不大,也不应该羞于开口。毕竟在用R语言交流时,你面前的计算机是你唯一的听众。可能计算机不会太宽容,但总归不会吹毛求疵。"

"数据科学的基石是存储大量数据并根据需求随时调用数据的能力。有了这样的能力,掌握数据处理、数据可视化、数据建模等技能自然不在话下。"

二、实战代码

roll <- function( ){

          die <- 1:6

          dice <- sample(die, size = 2, replace = T,

              prob = c(1/6, 1/6, 1/6, 1/6, 1/6, 1/6))

          sum(dice)

}

你可能感兴趣的:(R语言入门与实践,r语言)