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
