大数据时代 BIG DATA
1 要分析与某事物相关的所有数据,而不是依靠分析少量的数据样本;
2 我们乐于接受数据的纷繁复杂,而不是追求精确性;(但是在科研中,必须要严要求数据精确,允许有误差,或者至少是客观的)
3 不再探求难以捉摸的因果关系,转而关注事物的相关关系。
路遥知马力,日久见人心。
R是S语言的一种实现。
Mac_查看所有快捷键的方式:shift+option+K
console清屏快捷键:control+L
查看工作目录:getwd()。 和Linux下的pwd一样
使用setwd命令来设置工作目录
> setwd(dir = "/Users/heliuqin/Rdata/")
> getwd()
[1] "/Users/heliuqin/Rdata"
> list.files() #查看目录下包含的文件
> dir() #查看目录下包含的文件 两者的功能一样
<<- 赋值给全局变量;<-赋值给局部变量
> ls()
[1] "u" "x" "y"
> ls.str()
u : num 9
x : num 1
y : num 15
> ls(all.names = TRUE) #和Linux下ls -a 选项意思一样
[1] ".Random.seed" "u" "x" "y"
> rm (list=ls())#删除所有参数变量
> .libPaths()#显示库所在的位置
[1] "/Library/Frameworks/R.framework/Versions/4.0/Resources/library"
R语言,查看帮助文档,非常重要!
> help(package="datasets") 打开内置数据集
> data()不加任何参数,可以列出数据集
> rivers 直接输入数据集的名字,就可以使用这个数据集,例如:
> rivers
[1] 735 320 325 392 524 450 1459 135 465 600 330 336 280 315 870 906 202 329 290 1000 600 505 1450 840 1243 890 350 407
[29] 286 280 525 720 390 250 327 230 265 850 210 630 260 230 360 730 600 306 390 420 291 710 340 217 281 352 259 250
[57] 470 680 570 350 300 560 900 625 332 2348 1171 3710 2315 2533 780 280 410 460 260 255 431 350 760 618 338 981 1306 500
[85] 696 605 250 411 1054 735 233 435 490 310 460 383 375 1270 545 445 1885 380 300 380 377 425 276 210 800 420 350 360
[113] 538 1100 1205 314 237 610 360 540 1038 424 310 300 444 301 268 620 215 652 900 525 246 360 529 500 720 270 430 671
[141] 1770
> rivers <- c(1,2,3)
> rivers
[1] 1 2 3
> data("rivers")
> rivers
[1] 735 320 325 392 524 450 1459 135 465 600 330 336 280 315 870 906 202 329 290 1000 600 505 1450 840 1243 890 350 407
[29] 286 280 525 720 390 250 327 230 265 850 210 630 260 230 360 730 600 306 390 420 291 710 340 217 281 352 259 250
[57] 470 680 570 350 300 560 900 625 332 2348 1171 3710 2315 2533 780 280 410 460 260 255 431 350 760 618 338 981 1306 500
[85] 696 605 250 411 1054 735 233 435 490 310 460 383 375 1270 545 445 1885 380 300 380 377 425 276 210 800 420 350 360
[113] 538 1100 1205 314 237 610 360 540 1038 424 310 300 444 301 268 620 215 652 900 525 246 360 529 500 720 270 430 671
[141] 1770
rivers定义为其他数量时,可以使用data重新整回来。
> help("mtcars")
查看数据集的介绍
> euro
ATS BEF DEM ESP FIM FRF IEP ITL LUF NLG PTE
13.760300 40.339900 1.955830 166.386000 5.945730 6.559570 0.787564 1936.270000 40.339900 2.203710 200.482000
> names(euro)
[1] "ATS" "BEF" "DEM" "ESP" "FIM" "FRF" "IEP" "ITL" "LUF" "NLG" "PTE"
names(数据集名称):可以单独查看数据的属性信息
> hhxi <- data.frame(state.name,state.abb,state.area,state.division,state.region)
> hhxi
state.name state.abb state.area state.division state.region
1 Alabama AL 51609 East South Central South
2 Alaska AK 589757 Pacific West
3 Arizona AZ 113909 Mountain West
4 Arkansas AR 53104 West South Central South
5 California CA 158693 Pacific West
6 Colorado CO 104247 Mountain West
7 Connecticut CT 5009 New England Northeast
8 Delaware DE 2057 South Atlantic South
9 Florida FL 58560 South Atlantic South
10 Georgia GA 58876 South Atlantic South
11 Hawaii HI 6450 Pacific West
12 Idaho ID 83557 Mountain West
13 Illinois IL 56400 East North Central North Central
14 Indiana IN 36291 East North Central North Central
15 Iowa IA 56290 West North Central North Central
16 Kansas KS 82264 West North Central North Central
17 Kentucky KY 40395 East South Central South
18 Louisiana LA 48523 West South Central South
19 Maine ME 33215 New England Northeast
20 Maryland MD 10577 South Atlantic South
21 Massachusetts MA 8257 New England Northeast
22 Michigan MI 58216 East North Central North Central
23 Minnesota MN 84068 West North Central North Central
24 Mississippi MS 47716 East South Central South
25 Missouri MO 69686 West North Central North Central
26 Montana MT 147138 Mountain West
27 Nebraska NE 77227 West North Central North Central
28 Nevada NV 110540 Mountain West
29 New Hampshire NH 9304 New England Northeast
30 New Jersey NJ 7836 Middle Atlantic Northeast
31 New Mexico NM 121666 Mountain West
32 New York NY 49576 Middle Atlantic Northeast
33 North Carolina NC 52586 South Atlantic South
34 North Dakota ND 70665 West North Central North Central
35 Ohio OH 41222 East North Central North Central
36 Oklahoma OK 69919 West South Central South
37 Oregon OR 96981 Pacific West
38 Pennsylvania PA 45333 Middle Atlantic Northeast
39 Rhode Island RI 1214 New England Northeast
40 South Carolina SC 31055 South Atlantic South
41 South Dakota SD 77047 West North Central North Central
42 Tennessee TN 42244 East South Central South
43 Texas TX 267339 West South Central South
44 Utah UT 84916 Mountain West
45 Vermont VT 9609 New England Northeast
46 Virginia VA 40815 South Atlantic South
47 Washington WA 68192 Pacific West
48 West Virginia WV 24181 South Atlantic South
49 Wisconsin WI 56154 East North Central North Central
50 Wyoming WY 97914 Mountain West
安装MASS包 > install.packages("MASS")
安装以后必须加载才可以调用 > library(MASS) 也可以这样不加载包,直接调用包内的数据集 > data(Chile,package="car")(但是这个比较特殊,因为要先加载carData)所以后面改为 > data(Chile,package="carData")
> (.packages()) 查看加载的哪些包
>detach("package:carData") 卸除(不加载),暂时不使用这个包
显示安装包的数据集 > data(package="MASS")
显示R中所有的数据集 > data(package=.packages(all.available = TRUE))
数据结构
数据结构基础,很重要。一定要打好基础!切勿直接比葫芦画瓢!
1、数值型,可以直接进行加减乘除;
2、字符串型,可以进行连接、转换、提取等;
3、逻辑性,真或者假;
4、日期;
EXCEl中输入一长串数字时,会自动变为科学计数法。解决方法是,在前面加一个单引号‘。原因是:不同的数据类型,对应不同的处理函数。
R中数据类型
1、向量、标量
2、矩阵
3、数组
4、列表
5、数据框
6、因子
7、时间序列
。。。。
向量,vector 一维数组。用函数c来创建向量
> y <- c("one","two","three")输入字符串时,加引号。和安装包时一样,都要加引号。说明你是一个外部人员。
> z <- c(TRUE,T,F)创建逻辑向量,必须大写。
> c(1:100)等差数列。
> seq(from=1,to=100)
> seq(from=1,to=100,by=2) by设置等差的距离。
> seq(from=1,to=100,length.out = 10) lengthout设置输入的个数
rep(1:4, 2)
rep(1:4, each = 2) # not the same.
rep(1:4, c(2,2,2,2)) # same as second.
rep(1:4, c(2,1,2,1))
rep(1:4, each = 2, len = 4) # first 4 only.
rep(1:4, each = 2, len = 10) # 8 integers plus two recycled 1's.
rep(1:4, each = 2, times = 3) # length 24, 3 complete replications
mode查看数据类型.
> mode(x)
[1] "numeric"
> mode(z)
[1] "logical"
> rivers[rivers>500] 去除rivers中大于500的函数
向量化编程的优势
向量索引
1、正(负)整数索引;
2、逻辑向量索引;
3、名称索引;
> x[90] 输出第90个元素
> x[-1] 不输出第1个元素
> x[c(4:10)] 输出第4到10个元素
> x[x>5 & x<8] &表示同时的意思
> y <- c("one","two","three","four","five")
> "one" %in% y one和y进行逻辑比较。使用的是%in%这个字符,逻辑判断符号。
> y %in% c("one","two")
[1] TRUE TRUE FALSE FALSE FALSE
> y[y %in% c("one","two")]
[1] "one" "two"
> y
[1] "one" "two" "three" "four" "five"
> l <- c(1,2,3,4)
> names(l) <- c("one","two","three","four")
> l
one two three four
1 2 3 4
names 给向量的元素,赋予命名。
> names(euro)
[1] "ATS" "BEF" "DEM" "ESP" "FIM" "FRF" "IEP" "ITL" "LUF" "NLG" "PTE"
> euro["ATS"]
ATS
13.7603