number_List向量对象的 第一个元素 是25,对应索引[1],第二个元素是24 ,对因索引[2]。
>number_list [3] [1]23 >number_list [16] [1]10 >索引也可以是一个向量对象 ,这个向量对象可以用c()函数建立起来
>number_list[c(3,19,24)] [1]23 7 2 >也可以用下列已建好的向量对象当做索引取代上述实例
>index_list<-c(3,19,24) >number_list[index_list] [1]23 7 2 > 使用 负索引挖掘向量对象内的部分元素 我们可以利用索引取向量对象的元素,也可以利用索引取得向量对象内不含特定索引所引起对应元素的部分元素,方法是使用负索引。 >number_list #原先向量内容 [1]25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 [16]10 9 8 7 6 5 4 3 2 1 >new number_list >- number_list[-2] >new number_list #新向量内容 [1]25 23 22 21 20 19 18 17 16 15 14 13 12 11 [16]10 9 8 7 6 5 4 3 2 1 >由上述实例可以看到new number_List向量对象不含元素“24"。 此外,负索引也可以是一个向量对象,可以利用此特性取得负索引向量对象所指以外的元素。
>number_list #原先向量内容 [1]25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 [16]10 9 8 7 6 5 4 3 2 1 >new number_list<-number_list[-(1:15)] >new number_list #新向量内容 [1]10 9 8 7 6 5 4 3 2 1 >3.修改向量对象的元素值
使用向量对象做数据记录时,难免会有错,碰上这类情况,可以此方法修改向量对象元素值。 下列是将Jordon第2场进球数修改为8的实例。
>baskets.NBA2016.Jordon #列出各场次的进球数 [1]10 5 9 15 7 11 >baskets.NBA2016.Jordon[2]<-8 #修正第2场进球数为8 >baskets.NBA2016.Jordon #验证结果 [1]10 8 9 15 7 11 >从上述结果,可以看到第2场进球数已经修正为8球了。此外,上述修改向量对象的索引参数也可以是一个向量对象,例如,假设第1场和第6场,Jordon的进球数皆是12,此时可使用下列方式修正。
>baskets.NBA2016.Jordon #列出各场次的进球数 [1]10 8 9 15 7 11 >baskets.NBA2016.Jordon[c(1,6)]<-12 #修正新的进球数 >baskets.NBA2016. Jordon #验证结果 [1]12 8 9 15 7 12 >当修改向量对象元素时,原始数据就没有了 ,所以建议在在修改前可以先建立一个备份。
>baskets.NBA2016.Jordon #列出各场次的进球数 [1]12 8 9 15 7 12 >copy.baskets.NBA2016.Jordon<-baskets.NBA2016.Jordon #建立备份 >baskets.NB A2016.Jordon #列出Jordon进球数 >[1]12 8 9 15 7 12 >copy.baskets.NBA2016.Jordon #列出Jordon的备份结果 [1]12 8 9 15 7 12 > 认识系统内建的数据集letters 和LETTERS如何取得向量的部分元素或称获取子集。
>letters >[1]"a""b""c""d""e""f""g""h""i""j""k”"l""m""n"[15]"o"""p""q""p""s""t""u”"v""w""x""y""z" >LETTERS [1]"A"""B""C"“D""E""F""G""H""I""J""K""L""M""N"[15]"O""P""Q""R""S""T""U""V"“W""X""Y""Z" >letters [c(10,18)] #取得letters对象索引值10和18所对应的元素 [1]"j""r" > LETTERS [21:26] #取得LETTERS对象索引值21和26所对应的元素 [1]"U""V""W""X""Y""Z" >还有tail()函数可取得未知元素个数时的元素。
>tail(LETTERS,8) #使用tail()函数取得对象最后8个元素 [1]"S""T""U""V""W""X""Y""Z" >tail(LETTERS) #并测试如果省略第二个参数,会列出多少个元素 [1]"U""V""W""X""Y""Z" >还有head()函数可取得未知元素个数时的元素。
> head(LETTERS,8) #使用head()函数取得对象前8个元素 [1]"A""B""C""D""E""F""G""H" >tail(LETTERS) #并测试如果省略第二个参数,会列出多少个元素 [1]"A""B""C""D""E""F" >