实验目的

熟悉并掌握R语言中数据框的定义及相关操作

实验原理

与矩阵类似,数据框是用来保存和访问一些不同类型变量的结构,数据框可以通过上文提到read.csv() 函数生成,可以用is.data.frame()来判断是否为数据框,还可以用as.data.frame() 函数将矩阵强制转化为数据框

实验步骤

判断R自带的数据集longley是否为数据框:

> is.data.frame(longley)
[1] TRUE

如果想要选取数据框中的某一列,可以用$符号。比如想要查看数据框longley的Unemployed列就可以用longley$Unemployed。由于数据框可以处理许多不同类型的数据,所以R中有很多模型函数都偏好数据框这种格式。比如str()就可以显示数据框的结构,具体见下例:

> str(longley)
'data.frame':    16 obs. of  7 variables:
 $ GNP.deflator: num  83 88.5 88.2 89.5 96.2 ...
 $ GNP         : num  234 259 258 285 329 ...
 $ Unemployed  : num  236 232 368 335 210 ...
 $ Armed.Forces: num  159 146 162 165 310 ...
 $ Population  : num  108 109 110 111 112 ...
 $ Year        : int  1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 ...
 $ Employed    : num  60.3 61.1 60.2 61.2 63.2 ...

简单来说,数据框就是各种不同类型但是长度相同的变量列表的集合。想要选取数据框的子集可以用取子集操作符, R中的取子集操作符很强大,它可以用很简洁的语句表示复杂的操作,例如下面的代码提取longley数据集的第四列:

> longley[,4]
[1] 159.0 145.6 161.6 165.0 309.9 359.4 354.7 335.0 304.8 285.7 279.8 263.7 255.2 251.4 257.2 282.7

检索longley数据集的前两行:

> longley[1:2,]
     GNP.deflator     GNP Unemployed Armed.Forces Population Year Employed
1947         83.0 234.289      235.6        159.0    107.608 1947   60.323
1948         88.5 259.426      232.5        145.6    108.632 1948   61.122

检索longley数据集中年份为1950的记录:

> longley[longley$Year==1950,]
     GNP.deflator     GNP Unemployed Armed.Forces Population Year Employed
1950         89.5 284.599      335.1          165    110.929 1950   61.187

results matching ""

    No results matching ""