R语言入门与实践
黎明之道
One has to adapt to survive.
Standing on the Shoulders of Giants.
展开
-
R语言之代码提速(对老虎机案例进行优化)
代码提速一、向量化代码快速的R代码都经常用到三大法宝:逻辑测试、 取子集和元素方式执行。用到这三大法宝的R代码往往都具有一种特性:代码是向量化的。所谓向量化代码就是指代码可以接受一个含有多个值的向量作为输入,并且同时操作向量中的每一个元素。函数abs_loop利用for循环对该向量的元素逐一取绝对值。vec <- c(1,-2,3,4,-5)abs_loop<-function(vec){ for(i in 1:length(vec)){ if(vec[i]<0)原创 2020-12-27 18:51:39 · 850 阅读 · 1 评论 -
R语言之循环(解决老虎机钻石匹配所有符号问题)
R 循环循环(loop)是R用来重复完成某个任务的方法,让我们用score函数来解决一个实际问题。老虎机程序模拟的是现实生活中一批颇具争议的老虎机,人们认为这批老虎机有作弊嫌疑。这批老虎机的返还率看似为40美分/美元,但是制造商却声称这批机器的返还率是 92美分/美元。可以用score精确计算出这批机器的返还率,也就是老虎机中奖金额的期望值。1、期望值一个随机事件的期望值可以看作某种加权平均值。它是该事件每一个可能=结果乘以权值后所得结果的总和,权值对应每一个可能结果出现的概率。E(x)=(x,P(原创 2020-12-16 18:54:03 · 1544 阅读 · 0 评论 -
R语言之S3系统(详细介绍)老虎机程序输出改进
S3当初建议的老虎机程序应该以如下:score <- function(symbols){ same <- symbols[1] == symbols[2] && symbols[2] == symbols[3] bars <- symbols %in% c("B","BB","BBB") if (same){ payouts <- c("DD" = 100,"7" = 80,"BBB" = 40,"BB" = 25,"B" = 10,原创 2020-11-26 20:23:53 · 1594 阅读 · 0 评论 -
R语言之R程序(老虎机)
第一步,模拟动作。可以用sample函数随机生成三个符号,就像你在项目1中随机“掷”骰子一样。下面的函数能够从老虎机的常用符号中随机选择三个符号。这些常用符号包括:钻石(DD)、七(7)、三条杠(BBB)、两条杠(BB)、一条杠(B)、樱桃©和零(0)。符号的选择完全是随机的,但是每个符号出现的概率各不相同。get_symbols<-function() wheel<-c("DD",“7","BBB","BB",“B",“C","0") samp原创 2020-11-21 15:01:47 · 3902 阅读 · 0 评论 -
R的环境系统(环境,作用域,闭包)
R的环境系统学习R如何存储、查找和操作像deck这样的对象R其实是借助了它的环境系统来实现所有这些任务的一、环境计算机会将文件夹和子文件夹用分层结构组织起来。要想找到某个文件,你需要知道如何在计算机的文件系统中逐层查找。R存储对象时也用了类似的层级系统结构。每一个对象都存储在一个环境(environment当中。环境是一个类似于列表的对象,概念上接近于计算机上的文件夹。每一个环境都与一个父环境相连接,后者是高一层级的环境。这样的父子环境就构成了一个分层的环境系统。可以通过devtools包中的原创 2020-11-10 20:07:37 · 1372 阅读 · 0 评论 -
R对象改值、缺失值(各种方式)
对象改值一、就地改值R的记号体系在R对象内部改值vec<-c(0,0,0,0,0,0)vec[1]<-1000vec也可以批量改值,只要提供相同个数的待改值和新值即可。vec[c(1,3,5)]<-c(1,1,1)vec vec[4:6]<-vec[4:6]+1vec也可以创建一个原先对象中并不存在的新值。R会自动将对象的长度延伸以适应这个新值。vec[7] <- 0vec也提供了一种为数据集添加新变量的绝佳方法。首先导入数据集de原创 2020-10-24 10:33:59 · 2187 阅读 · 0 评论 -
R的记号体系
R的记号体系现在你手头已经有了一副扑克牌,那么扑克牌就应该做一些扑克牌该做的事情。比如说,玩牌时需要经常洗牌,另外还需要发牌(每次都发最上方的那张牌,我们不出老千)要想实现这些操作,需要能够操作数据框内的个别值,这是数据科学家必须掌握的基本技能。比如说,要从扑克牌的最上面开始发牌,你需要编写一个可以从数据框中提取第一行。(见下面解答)导入数据下载地址——》下面所用到的数据首先导入数据:选择数据deck.csv然后导入。1、值的选取R的记号体系可以从R对象中提取值,先写出该数据框的名称,在其后紧原创 2020-10-14 22:54:19 · 1247 阅读 · 0 评论 -
R语言入门——R对象
R对象一、原子型向量也可以生成只包含一个值的原子型向量。在这种情况下,R将这个单值存储为一个长度为1的原子型向量。die <- 1:6five <- 5fiveis.vector(five)length(five)length(die)1、双整型把双整型称作数值型(numeric)。双整型向量用来存储普通的数值型数据。数值可正可负,可大可小,可包含小数部分,也可不包含。总之,你在R中键入的任何一个数值都会默认以双整型存储。die <- c(1,2,3,4,5原创 2020-09-22 20:54:00 · 2185 阅读 · 0 评论 -
R语言介绍(R包与帮助文档)
R包与帮助文档R中很多非常有用的工具都是通过R包的形式发布的。一、R包1 install.packages打开RStudio确保计算机已经连接到互联网。在命令行窗口内运行命令install.packages("ggplot2")。或者:install.packages("ggplot2", repos = "http://cran.r-project.org")如果还有错误的话,看看自己输入是否正确,ggplot2。2 library刚才的步骤只是将R包安装在计算机的硬盘上。当你需要使原创 2020-09-16 18:01:57 · 6021 阅读 · 3 评论 -
R语言基础(用最简单的方式了解学习R语言)
心灵导语:沮丧的感觉是由大脑的懒造成的,它在提示你放弃做这么难的事情,去找些容易或有趣的事情来做。学习编程也一样,大脑越是感到沮丧,你越应该鞭策自己去战胜沮丧。认识到这一点之后,在学习编程的过程中,如果遇到了令人沮丧的难题,要乐观积极地对待这样的感觉:因为你是在挑战自我。如果每天都能挑战自己一点点,可以预见,不用多久你就会成为一名信心满满的程序员。R和RStudio安装包下载地址——>点这里下载学习R语言目的:学习如何加载数据,组合与拆解数据对象,玩转R的系统环境,编写自己的R函数,以及使用原创 2020-09-07 16:41:34 · 5324 阅读 · 1 评论