第一次课的几个例子
基本运算,求均值,求和 等等
mean(c(1,2,3))
## [1] 2
mtcars
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
apply(mtcars,2,mean)
## mpg cyl disp hp drat wt qsec
## 20.090625 6.187500 230.721875 146.687500 3.596563 3.217250 17.848750
## vs am gear carb
## 0.437500 0.406250 3.687500 2.812500
apply(mtcars,1,mean)
## Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive
## 29.90727 29.98136 23.59818 38.73955
## Hornet Sportabout Valiant Duster 360 Merc 240D
## 53.66455 35.04909 59.72000 24.63455
## Merc 230 Merc 280 Merc 280C Merc 450SE
## 27.23364 31.86000 31.78727 46.43091
## Merc 450SL Merc 450SLC Cadillac Fleetwood Lincoln Continental
## 46.50000 46.35000 66.23273 66.05855
## Chrysler Imperial Fiat 128 Honda Civic Toyota Corolla
## 65.97227 19.44091 17.74227 18.81409
## Toyota Corona Dodge Challenger AMC Javelin Camaro Z28
## 24.88864 47.24091 46.00773 58.75273
## Pontiac Firebird Fiat X1-9 Porsche 914-2 Lotus Europa
## 57.37955 18.92864 24.77909 24.88027
## Ford Pantera L Ferrari Dino Maserati Bora Volvo 142E
## 60.97182 34.50818 63.15545 26.26273
统计功能
rnorm(10)
## [1] -0.73580965 -0.85187645 -0.01542235 -0.10479232 -0.83088291 0.61984506
## [7] -0.33877042 -0.98817073 -1.05298645 -0.57825713
pnorm(0)
## [1] 0.5
t.test(rnorm(10),rnorm(10))
##
## Welch Two Sample t-test
##
## data: rnorm(10) and rnorm(10)
## t = -0.96676, df = 14.952, p-value = 0.349
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.3292329 0.4998473
## sample estimates:
## mean of x mean of y
## -0.5190273 -0.1043345
cor(mtcars)
## mpg cyl disp hp drat wt
## mpg 1.0000000 -0.8521620 -0.8475514 -0.7761684 0.68117191 -0.8676594
## cyl -0.8521620 1.0000000 0.9020329 0.8324475 -0.69993811 0.7824958
## disp -0.8475514 0.9020329 1.0000000 0.7909486 -0.71021393 0.8879799
## hp -0.7761684 0.8324475 0.7909486 1.0000000 -0.44875912 0.6587479
## drat 0.6811719 -0.6999381 -0.7102139 -0.4487591 1.00000000 -0.7124406
## wt -0.8676594 0.7824958 0.8879799 0.6587479 -0.71244065 1.0000000
## qsec 0.4186840 -0.5912421 -0.4336979 -0.7082234 0.09120476 -0.1747159
## vs 0.6640389 -0.8108118 -0.7104159 -0.7230967 0.44027846 -0.5549157
## am 0.5998324 -0.5226070 -0.5912270 -0.2432043 0.71271113 -0.6924953
## gear 0.4802848 -0.4926866 -0.5555692 -0.1257043 0.69961013 -0.5832870
## carb -0.5509251 0.5269883 0.3949769 0.7498125 -0.09078980 0.4276059
## qsec vs am gear carb
## mpg 0.41868403 0.6640389 0.59983243 0.4802848 -0.55092507
## cyl -0.59124207 -0.8108118 -0.52260705 -0.4926866 0.52698829
## disp -0.43369788 -0.7104159 -0.59122704 -0.5555692 0.39497686
## hp -0.70822339 -0.7230967 -0.24320426 -0.1257043 0.74981247
## drat 0.09120476 0.4402785 0.71271113 0.6996101 -0.09078980
## wt -0.17471588 -0.5549157 -0.69249526 -0.5832870 0.42760594
## qsec 1.00000000 0.7445354 -0.22986086 -0.2126822 -0.65624923
## vs 0.74453544 1.0000000 0.16834512 0.2060233 -0.56960714
## am -0.22986086 0.1683451 1.00000000 0.7940588 0.05753435
## gear -0.21268223 0.2060233 0.79405876 1.0000000 0.27407284
## carb -0.65624923 -0.5696071 0.05753435 0.2740728 1.00000000
循环运算 向量化运算
replicate(10,t.test(rnorm(10),rnorm(10)))
## [,1] [,2]
## statistic 0.308778 0.3394751
## parameter 16.28358 17.50423
## p.value 0.7614059 0.7382909
## conf.int Numeric,2 Numeric,2
## estimate Numeric,2 Numeric,2
## null.value 0 0
## stderr 0.3790869 0.5170722
## alternative "two.sided" "two.sided"
## method "Welch Two Sample t-test" "Welch Two Sample t-test"
## data.name "rnorm(10) and rnorm(10)" "rnorm(10) and rnorm(10)"
## [,3] [,4]
## statistic -0.6253722 -0.5862467
## parameter 12.29997 16.5454
## p.value 0.5431558 0.5656226
## conf.int Numeric,2 Numeric,2
## estimate Numeric,2 Numeric,2
## null.value 0 0
## stderr 0.5261429 0.5558835
## alternative "two.sided" "two.sided"
## method "Welch Two Sample t-test" "Welch Two Sample t-test"
## data.name "rnorm(10) and rnorm(10)" "rnorm(10) and rnorm(10)"
## [,5] [,6]
## statistic -1.788163 -0.2460304
## parameter 17.9999 17.47687
## p.value 0.09059614 0.8085249
## conf.int Numeric,2 Numeric,2
## estimate Numeric,2 Numeric,2
## null.value 0 0
## stderr 0.3806801 0.474591
## alternative "two.sided" "two.sided"
## method "Welch Two Sample t-test" "Welch Two Sample t-test"
## data.name "rnorm(10) and rnorm(10)" "rnorm(10) and rnorm(10)"
## [,7] [,8]
## statistic 0.114033 0.09305772
## parameter 17.97139 16.62997
## p.value 0.910476 0.9269696
## conf.int Numeric,2 Numeric,2
## estimate Numeric,2 Numeric,2
## null.value 0 0
## stderr 0.4220444 0.5589086
## alternative "two.sided" "two.sided"
## method "Welch Two Sample t-test" "Welch Two Sample t-test"
## data.name "rnorm(10) and rnorm(10)" "rnorm(10) and rnorm(10)"
## [,9] [,10]
## statistic 2.077864 0.07637804
## parameter 17.27778 15.53162
## p.value 0.05293145 0.9400935
## conf.int Numeric,2 Numeric,2
## estimate Numeric,2 Numeric,2
## null.value 0 0
## stderr 0.3598712 0.3775239
## alternative "two.sided" "two.sided"
## method "Welch Two Sample t-test" "Welch Two Sample t-test"
## data.name "rnorm(10) and rnorm(10)" "rnorm(10) and rnorm(10)"
system.time(replicate(10,t.test(rnorm(10),rnorm(10))))
## user system elapsed
## 0 0 0
模型拟合
attach(iris)
names(iris)
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
lm(Sepal.Length~Sepal.Width)
##
## Call:
## lm(formula = Sepal.Length ~ Sepal.Width)
##
## Coefficients:
## (Intercept) Sepal.Width
## 6.5262 -0.2234
detach(iris)
画图功能
library(lme4)
## Loading required package: Matrix
library(lattice)
attach(sleepstudy)
head(sleepstudy)
## Reaction Days Subject
## 1 249.5600 0 308
## 2 258.7047 1 308
## 3 250.8006 2 308
## 4 321.4398 3 308
## 5 356.8519 4 308
## 6 414.6901 5 308
plot(Reaction~Days)
abline(lm(Reaction~Days))

attach(iris)
xyplot(Reaction~Days|factor(Subject),
type=c('p', 'r'),col.line='black')

xyplot(Sepal.Length~Sepal.Width|Species)

高级画图功能
library(ggplot2)
## Warning: replacing previous import 'vctrs::data_frame' by 'tibble::data_frame'
## when loading 'dplyr'
library(viridis)
## Loading required package: viridisLite
ggdiamonds = ggplot(diamonds, aes(x, depth)) +
stat_density_2d(aes(fill = stat(nlevel)), geom = "polygon", n = 200, bins = 50,contour = TRUE) +
facet_wrap(clarity~.) +
scale_fill_viridis_c(option = "A")
ggdiamonds

library(rayshader)
## Warning: package 'rayshader' was built under R version 4.0.3
plot_gg(ggdiamonds,multicore=TRUE,width=5,height=5,scale=250,windowsize=c(1400,866),
zoom = 0.55, phi = 30)