R : Copyright 2001, The R Development Core Team Version 1.2.2 (2001-02-26) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type `license()' or `licence()' for distribution details. R is a collaborative project with many contributors. Type `contributors()' for more information. Type `demo()' for some demos, `help()' for on-line help, or `help.start()' for a HTML browser interface to help. Type `q()' to quit R. > scan("ocbook.dat") > X <- scan("ocbook.dat") > X <- matrix(scan("ocbook.dat"),byrow=T,ncol=5) > X[45,1] [1] 46 > X[,1] [1] 77 63 75 55 63 53 51 59 62 64 52 55 50 65 31 60 44 42 62 31 44 49 12 49 54 [26] 54 44 18 46 32 30 46 40 31 36 56 46 45 42 40 23 48 41 46 46 40 49 22 35 48 [51] 31 17 49 59 37 40 35 38 43 39 62 48 34 18 35 59 41 31 17 34 46 10 46 30 13 [76] 49 18 8 23 30 3 7 15 15 5 12 5 0 > mean(X[,1]) [1] 38.95455 > apply(X,2,mean) [1] 38.95455 50.59091 50.60227 46.68182 42.30682 > m <- apply(X,2,mean) > m [1] 38.95455 50.59091 50.60227 46.68182 42.30682 > v <- apply(X,2,var) > v [1] 305.7680 172.8422 112.8860 220.3804 297.7554 > var(X) [,1] [,2] [,3] [,4] [,5] [1,] 305.7680 127.22257 101.57941 106.27273 117.40491 [2,] 127.2226 172.84222 85.15726 94.67294 99.01202 [3,] 101.5794 85.15726 112.88597 112.11338 121.87056 [4,] 106.2727 94.67294 112.11338 220.38036 155.53553 [5,] 117.4049 99.01202 121.87056 155.53553 297.75536 > s <- sqrt(v) > s [1] 17.48622 13.14695 10.62478 14.84521 17.25559 > 1:5 [1] 1 2 3 4 5 > plot(1:5,m) > c(0,100) [1] 0 100 > plot(1:5,m,ylim=c(0,100),xlab="Exam",ylab="Average") > lines(1:5,m) > read.table("ocbook.dat",col.names=c("ME","VE","AL","AN","ST")) > OC <- read.table("ocbook.dat",col.names=c("ME","VE","AL","AN","ST")) > boxplot(OC) > summary(OC) ME VE AL AN Min. : 0.00 Min. : 9.00 Min. :15.00 Min. : 9.00 1st Qu.:30.00 1st Qu.:42.00 1st Qu.:45.00 1st Qu.:35.75 Median :41.50 Median :51.00 Median :50.00 Median :49.00 Mean :38.95 Mean :50.59 Mean :50.60 Mean :46.68 3rd Qu.:49.25 3rd Qu.:60.00 3rd Qu.:57.25 3rd Qu.:57.00 Max. :77.00 Max. :82.00 Max. :80.00 Max. :70.00 ST Min. : 9.00 1st Qu.:31.00 Median :40.00 Mean :42.31 3rd Qu.:51.50 Max. :81.00 > pairs(OC) > cor(X) [,1] [,2] [,3] [,4] [,5] [1,] 1.0000000 0.5534052 0.5467511 0.4093920 0.3890993 [2,] 0.5534052 1.0000000 0.6096447 0.4850813 0.4364487 [3,] 0.5467511 0.6096447 1.0000000 0.7108059 0.6647357 [4,] 0.4093920 0.4850813 0.7108059 1.0000000 0.6071743 [5,] 0.3890993 0.4364487 0.6647357 0.6071743 1.0000000 > score <- apply(X,1,mean) > cor(score,X) [,1] [,2] [,3] [,4] [,5] [1,] 0.7490442 0.760635 0.8675482 0.8016954 0.792422 > var(score) [1] 134.0526 > princomp(X) Error: couldn't find function "princomp" > library(mva) > princomp(X) Call: princomp(x = X) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 26.061142 14.135571 10.127604 9.147061 5.638077 5 variables and 88 observations. > SD <- princomp(X) > names(SD) [1] "sdev" "loadings" "center" "scale" "n.obs" "scores" "call" > SD$loadings Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 [1,] 0.5054457 -0.74874751 -0.2997888 0.296184264 0.07939388 [2,] 0.3683486 -0.20740314 0.4155900 -0.782888173 0.18887639 [3,] 0.3456612 0.07590813 0.1453182 -0.003236339 -0.92392015 [4,] 0.4511226 0.30088849 0.5966265 0.518139724 0.28552169 [5,] 0.5346501 0.54778205 -0.6002758 -0.175732020 0.15123239 > sqrt(var(sqrt(5)*score)) [1] 25.88944 > plot(1:5,SD$sdev^2) > p <- 100*SD$sdev^2/sum(SD$sdev^2) > plot(1:5,p,ylab="Percent variance",ylim=c(0,100),xlab="Component")