第一次课的几个例子

基本运算,求均值,求和 等等

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)