R语言数据框的索引:索引列、行、元素
数据框的索引和矩阵类似,由于都是二维数据,所以它也有两个维度的下标,同时数据框的列名称也可以方便地索引数据框的列数据。
1.索引列
例如:
web.data$pv [1] 10234 20119 9087 11093 10099 15899 9908 web.data[["pv"]] [1] 10234 20119 9087 11093 10099 15899 9908 web.data[[2]] [1] 10234 20119 9087 11093 10099 15899 9908 web.data[,2] [1] 10234 20119 9087 11093 10099 15899 9908
如果想读取多列的数据,则可以以<数据框对象>[,列下标向量]方式来获取元素,并以数据框对象的形式返回。注意,不可以采用<数据框对象>[[列下标向量]]形式。例如:
web.data[,1:2] new.date pv 1 2012.1.1 10234 2 2012.1.2 20119 3 2012.1.3 9087 4 2012.1.4 11093 5 2012.1.5 10099 6 2012.1.6 15899 7 2012.1.7 9908
2.索引行
通过<数据框对象>[行下标,],可以直接获取相应行的所有元素,并以数据框对象的形式返回。例如:
web.data[1:2,] new.date pv times bounce 1 2012.1.1 10234 30.98 0.610 2 2012.1.2 20119 33.09 0.623
如果想返回向量形式的数据,则要先把数据框转化为矩阵再进行索引。例如:
as.matrix(web.data)[1:2,] date pv times bounce [1,] "2012.1.1" "10234" "30.98" "0.610" [2,] "2012.1.2" "20119" "33.09" "0.623"
3.索引元素
上面已经介绍了数据框的列索引可以返回一个向量对象,然后再继续索引向量进而索引某一元素。例如,使用4种方式来索引pv列的第一个元素。
web.data$pv[1] [1] 10234 web.data[["pv"]][1] [1] 10234 web.data[[2]][1] [1] 10234 web.data[1,2] [1] 10234
除了索引一个元素外,还可以索引一块元素。例如,将索引1(date);3(times);2(pv)列和1~4行的数据元素。
web.data[1:4,c(1,3,2)] date times pv 1 2012.1.1 30.98 10234 2 2012.1.2 33.09 20119 3 2012.1.3 20.09 9087 4 2012.1.4 22.98 11093