不登高山,不知天之高也;不临深溪,不知地之厚也。 ——荀子
这篇文章讲述的是R语言中关于数据框的相关知识。希望这篇R语言文章对您有所帮助!如果您有想学习的知识或建议,可以给作者留言~
Chapter04 | 数据框
数据框的特点: 1、数据框是一种表格式的数据结构。数据框旨在模拟数据集,与其他统计软件例如SAS或SPASS中的数据集的概念一致。 2、数据集通常是由数据构成的一个矩阵数组,行表示观测,列表示变量。不同的行业对于数据集的行和列叫法不同。 3、数据框实际上是一个列表。列表中的元素是向量,这些向量构成数据框的列,每一列必须具有相同的长度,所以数据框是矩形结构,而且数剧框的列必须命名。
- 常见数据框:
- 1、iris
- 2、mtcars
- 3、rock
矩阵与数据框: 1、数据框形状上很像矩阵 2、数据框是比较规则的列表 3、矩阵必须为同一数据类型 4、数据框每一列必须同一类型,每一行可以不同
- 1、数据框的访问
> state <- data.frame(state.name,state.abb,state.region,state.x77)
# 数据框的访问 通过索引进行访问
> state[1]
state.name
Alabama Alabama
Alaska Alaska
Arizona Arizona
Arkansas Arkansas
California California
Colorado Colorado
Connecticut Connecticut
Delaware Delaware
Florida Florida
Georgia Georgia
Hawaii Hawaii
Idaho Idaho
Illinois Illinois
Indiana Indiana
Iowa Iowa
Kansas Kansas
Kentucky Kentucky
Louisiana Louisiana
Maine Maine
Maryland Maryland
Massachusetts Massachusetts
Michigan Michigan
Minnesota Minnesota
Mississippi Mississippi
Missouri Missouri
Montana Montana
Nebraska Nebraska
Nevada Nevada
New Hampshire New Hampshire
New Jersey New Jersey
New Mexico New Mexico
New York New York
North Carolina North Carolina
North Dakota North Dakota
Ohio Ohio
Oklahoma Oklahoma
Oregon Oregon
Pennsylvania Pennsylvania
Rhode Island Rhode Island
South Carolina South Carolina
South Dakota South Dakota
Tennessee Tennessee
Texas Texas
Utah Utah
Vermont Vermont
Virginia Virginia
Washington Washington
West Virginia West Virginia
Wisconsin Wisconsin
Wyoming Wyoming
# 也可以通过数组进行访问,添加负索引表示除此之外
> state[c(2,4)]
state.abb Population
Alabama AL 3615
Alaska AK 365
Arizona AZ 2212
Arkansas AR 2110
California CA 21198
Colorado CO 2541
Connecticut CT 3100
Delaware DE 579
Florida FL 8277
Georgia GA 4931
Hawaii HI 868
Idaho ID 813
Illinois IL 11197
Indiana IN 5313
Iowa IA 2861
Kansas KS 2280
Kentucky KY 3387
Louisiana LA 3806
Maine ME 1058
Maryland MD 4122
Massachusetts MA 5814
Michigan MI 9111
Minnesota MN 3921
Mississippi MS 2341
Missouri MO 4767
Montana MT 746
Nebraska NE 1544
Nevada NV 590
New Hampshire NH 812
New Jersey NJ 7333
New Mexico NM 1144
New York NY 18076
North Carolina NC 5441
North Dakota ND 637
Ohio OH 10735
Oklahoma OK 2715
Oregon OR 2284
Pennsylvania PA 11860
Rhode Island RI 931
South Carolina SC 2816
South Dakota SD 681
Tennessee TN 4173
Texas TX 12237
Utah UT 1203
Vermont VT 472
Virginia VA 4981
Washington WA 3559
West Virginia WV 1799
Wisconsin WI 4589
Wyoming WY 376
# 利用行和列的名字可以直接搜索想要内容
> state[,"state.abb"]
[1] AL AK AZ AR CA CO CT DE FL GA HI ID IL IN IA KS KY LA ME MD MA MI MN MS MO MT NE NV NH NJ
[31] NM NY NC ND OH OK OR PA RI SC SD TN TX UT VT VA WA WV WI WY
50 Levels: AK AL AR AZ CA CO CT DE FL GA HI IA ID IL IN KS KY LA MA MD ME MI MN MO MS ... WY
> state["Alabama",]
state.name state.abb state.region Population Income Illiteracy Life.Exp Murder
Alabama Alabama AL South 3615 3624 2.1 69.05 15.1
HS.Grad Frost Area
Alabama 41.3 20 50708
- 2、可绘制散点图
# 使用$的访问方式,最常用的方式,可以快速取出任意的一列,再后面的分析和画图中很重要
women$height
[1] 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
# 可以快速绘制散点图
plot(women$height,women$weight)
- 3、lm函数进行线性回归
> lm (weight~height,data = women)
Call:
lm(formula = weight ~ height, data = women)
Coefficients:
(Intercept) height
-87.52 3.45
- 4
# 如果没回都使用$可能会不方便,这是可以通过attach函数进行加载
> attach(mtcars)
# 加载完以后直接搜索即可
> mpg
[1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4 14.7 32.4
[19] 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4
> hp
[1] 110 110 93 110 175 105 245 62 95 123 123 180 180 180 205 215 230 66 52 65 97 150
[23] 150 245 175 66 91 113 264 175 335 109
# detach函数取消加载
> detach(mtcars)
# with函数与attach类似
> with(mtcars,{mpg})
[1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4 14.7 32.4
[19] 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4