R语言入门基础操作|纯小白视角|啰嗦同桌级教程(一)

    本文写给有编程基础和无编程基础的所有R语言小白!一个星期前,笔者也是一个R语言小白,所以自知所学甚浅,如同学们在阅读时发现本文的错误和不足,热热热烈欢迎大噶在评论区补充或直接私聊联系笔者!

笔者所用环境:

    操作系统 Windows 10

    软件 R-Studio https://www.r-project.org

C vs R

    一般而言,C语言用于大型(复杂的)程序编写,C语言语句(或语句块)被编译成机器语言后,可被重复执行;R语言语句即时被翻译,写一句就能执行一句,更加灵活,但总体来看,解决问题的效率不如C。

    R语言常见应用场景:统计计算和统计制图

    笔者推荐自学入门网站:菜鸟教程 https://www.runoob.com

熟悉环境

    双击打开R-Studio,界面如下(笔者已更改过主题颜色,这个蓝色好好看呀呜呜呜)。

打开R-Studio后的界面

    与在Visual Studio中的操作相似,我们需要新建一个R语言的文件。如图所示。


按照橘黄色框指引完成新建文件

    如此,我们就得到了一个新的文件。在这个文件中,我们就可以开始写R语句并运行这些语句了!(下文中,>开头的是写在R-script里的语句,[1]后表示"Console"中的返回值)


可直接在文件“Untitled”中输入语句

R 语言计算器

> 1 + 1        #在新文件中直接敲下这句话,然后鼠标光标点击这句话所在的行,点击“run”按钮,运行语句。

[1] 2       #在文件下的框框儿“Console”中,可以看到运行结果。


    请注意,在Rscript文件中,一句语句可被重复运行多次。同学们也可以这样理解:R的记忆是短暂的,随时更新的。它最大的特点之一就是即时!

    试试看,此时再次用鼠标点击“1 + 1”这句话所在的行,然后点击“run”按钮,运行语句,会在“Console”中看到什么结果?

    在接下来的运算中,我们都可以遵守“写一句,run一句”原则。当然,也可以先写好再从头一句一句run过来。


    下面继续介绍几种常见运算的语法规则。

> 2 + 3 * 4            #乘法运算

[1] 14             #运算符优先级规则可参考C语言

> 2 ^ 3          #指数运算

[1] 8

> exp(1)         #自然指数运算。很多其他基本数学函数在R语言中也可调用

[1] 2.718282

> sqrt(9)        #开平方

[1] 3

> pi        #圆周率π在R语言中已被定义,可直接使用

[1] 3.141593


    同学们,请想一下,考虑R语言即时性的特点,如果我们写错了语句,可以怎样解决呢?

    方案一:删除整个原文件,重开一个新文件(大雾)。

    方案二:重新写预期语句,写完后再run一下,R-script的“记忆”就被更新为正确的了。

    方案三:直接在原语句上进行修改,写完后run,更新“记忆”。

    笔者在实操过程中,后两种方法都用到过,私以为这取决于个人习惯。平常喜欢用中性笔写卷子,喜欢看到自己以前错在了哪里的同学,可以选择方案二;平常喜欢用铅笔写卷子,喜欢看到代码没有错误整整齐齐的同学,可以选择方案三。

    好了,继续,下面介绍R语言中的一些常用变量类型。

R语言变量类型

Numeric 数值型。存储浮点型数据

Boolean (T or F) 布尔型。有两个值,True和False

Strings 字符串型

     如何存储变量?借用“<-”进行赋值,请看!

> x <- 3        #这一个语句中,我们同时做了两件事。①将x定义为数值型变量;②将3赋值给x。继续赋值吧!

> y <- 2

> x * y           #应用上文提到的计算符

[1] 6       #得到结果,结果是一个数值

 

    请跟着笔者,一起输完下面的语句吧!

> X * y          

Erorr: Object “X” is not found            #在R语言中,变量名是区分大小写的,大写”X”未定义


> This.Year <- 2021            #变量名可以包含时间

> This.Year           #单独输入变量名并运行,可以查看变量的值

[1] 2021

R语言中的数组

    数组,顾名思义,就是一组数。下面介绍R语言常用数组:

c()          #连结元素或子数组

rep()              #repeat;对元素进行重复操作

seq()              #sequence;创建一个序列


    太抽象了吗?不要紧,实操看看


> rep(1, 5)            #将数字1重复5遍

[1] 1 1 1 1 1


> seq (2, 6)           #2到6之间所有整数的数列

[1] 2 3 4 5 6

> seq (4,20,by=4)          #在4到20中间的整数,每4个数输出1个数,即步长为4。也可看做首项是4,公差为4的一个等差数列,只不过这个数列是有限的。

[1] 4 8 12 16 20


> x <- c (2, 0, 2, 1)              #创建数组c,其元素为2,0,2,1,并将其赋值给变量x

好啦,下面我们来看看,数组可以进行什么运算吧!

> y <- c (2, 0, 0, 1)       #创建数组c,其元素为2,0,0,1,并将其赋值给变量y

> x + y

[1] 4 0 2 2             #数组相加;是不是很像矩阵的相加?

> x * 4           #数乘

[1] 8 0 8 4

> sqrt(x)        #数组中的每个元素都做函数运算

[1] 1.41 0.00 1.41 1.00         #返回函数结果


    好啦,到这里,是不是感觉对R语言更熟悉一些了呢?那么,我们继续吧!

R语言中的动态数组

    在R语言中,我们用方括号“[]”表示动态数组。动态数组可以帮助我们选择特定的数组元素,除去特定的数组元素或者用布尔型对数组中的元素进行判断。请直接看例子:

> x <- c (2, 0, 2, 1)      

> x [1]           #选择数组中的第一个元素,与x [ c (1) ]等价。

[1] 2


> x [-1]          #除去数组中的第一个元素

[1] 0 2 1


> x [1] <- 3 ; x             #将数组中的第1个元素赋值为3

[1] 3 0 2 1


> x [-1] <- 6 ; x            #将数组中的除了第1个元素的所有元素都赋值为6

[1] 3 6 6 6


> x < 9          #不是计算语句,而是判断语句。判断完每一个元素后,返回布尔型值

[1] TRUE TRUE TRUE TRUE


> x [ x< 9] = 7             #将数组中每一个判断为TRUE的元素赋值为7

> x

[1] 7 7 7 7

    基础操作介绍先到这里,下一篇将介绍R-Studio中对表的操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容