R的记号体系

本文介绍了R语言中如何选取数据框中的值,包括正整数、负整数、零、空格和逻辑值索引,以及名称索引。同时,讲解了发牌和洗牌的概念,通过sample函数实现数据框的随机排列。此外,还讨论了美元符号和双中括号在提取列表元素时的区别。最后,给出了一个练习,要求从数据框中读取特定元素。
摘要由CSDN通过智能技术生成

R的记号体系

现在你手头已经有了一副扑克牌,那么扑克牌就应该做一些扑克牌该做的事情。比如说,玩牌时需要经常洗牌,另外还需要发牌(每次都发最上方的那张牌,我们不出老千)要想实现这些操作,需要能够操作数据框内的个别值,这是数据科学家必须掌握的基本技能。比如说,要从扑克牌的最上面开始发牌,你需要编写一个可以从数据框中提取第一行。(见下面解答)

导入数据下载地址——》下面所用到的数据

首先导入数据:
在这里插入图片描述

选择数据deck.csv然后导入。

1、值的选取

R的记号体系可以从R对象中提取值,先写出该数据框的名称,在其后紧跟一对中括号。deck[,]
在这里插入图片描述
中括号内有两个索引参数,以逗号分隔。索引参数用来告诉R需要提取哪些值。R用第一个索引参数选择数据框中相应的行,用第二个索引参数选择相应的列。

1.1 正整数索引

deck[i,j]会返回deck数据框中第i行第j列的元素.
R使用了线性代数中的记号体系。本图中的命令会提取出灰色部分的数据
在这里插入图片描述
要提取多个值,使用正整数向量代替单一整数作为索引。比如,可以用deck[1,c(1,2, 3)]或者deck[1,1:3]提取出deck数据框中第一行的所有值。
deck[1,c(1,2,3)]
在这里插入图片描述
下面的命令会将deck数据框的第一行数据重复提取两次。
deck[c(1,1),c(1,2,3)]
在这里插入图片描述
R的记号体系并不仅限于数据框。可以使用同样的索引语法提取任意R对象中的值, 比如可以用一个索引向量提取一个向量中的部分值(向量是一维的)

vec <- c(6,1,3,6,10,5)
vec[1:3]

在这里插入图片描述
如果从一个数据框中提取两列或者两列以上的数据,R会返回一个新的数据框。deck[1:2,1:2]
在这里插入图片描述
然而,如果只提取一列,R则会返回一个向量。deck[1:2,1]
在这里插入图片描述
在这种情况下,如果仍想返回一个数据框,可以在中括号内添加参数: drop=FALSE.
deck[1:2,1,drop=FALSE]
在这里插入图片描述

1.2 负整数索引

在索引时使用负整数的效果与正整数刚好相反。R返回的元素将不包含负整数索引所对应的元素。比如说, deck[-1,1:3]会返回dec数据框中除了第一行元素之外的所有元素。

deck[-(2:52),1:3]只会返回第一行元素(返回结果将排除第2行到第52行的所有元素)。
在这里插入图片描述
如果你需要选取数据框中大部分的行或者列,使用负整数索引将比使用正整数索引更高效。
如果在一个相同的索引位置同时使用正整数和负整数,R便会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎明之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值