数据统计与分析基础实验一:基本语法与运算(R语言)
生活随笔
收集整理的這篇文章主要介紹了
数据统计与分析基础实验一:基本语法与运算(R语言)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據分析與統計基礎實驗一:基本語法與運算(R語言)
- 1、編寫程序,記錄十名學生的信息,至少包括姓名、年齡、出生年、數據統計分析課程實驗成績,程序輸出前n個學生的年齡平均值、數據統計分析課程實驗成績平均值,n為函數的輸入參數。
- 源代碼
- 逐條執行結果
- 2、找出1至999之間是13的倍數或者前兩位數字是13的數字,輸出這些數字,并統計有多少個。
- 源代碼
- 逐條執行結果
- 3、編寫成績轉化為績點的函數,用98,93,89,73,66分別調用函數,生成對應績點。
- 源代碼
- 逐條執行結果
- 4、隨機生成兩個長為100且服從標準正態分布的向量,然后將兩向量所有偶數位的數值對調,輸出所有的4個向量(對調前的2個,對調后的2個)。
- 源代碼
- 逐條執行結果
- 5、已知XYZ+YZZ=532,其中X、Y和Z為數字,編程求出X,Y和Z的值。
- 源代碼
- 逐條執行結果
1、編寫程序,記錄十名學生的信息,至少包括姓名、年齡、出生年、數據統計分析課程實驗成績,程序輸出前n個學生的年齡平均值、數據統計分析課程實驗成績平均值,n為函數的輸入參數。
源代碼
student<-setRefClass("student",fields = list(name="character",age="numeric",both_year="numeric",score="numeric")) stu1<-student(name="A",age=19,both_year=2002,score=90) stu2<-student(name="B",age=20,both_year=2001,score=80) stu3<-student(name="C",age=20,both_year=2001,score=70) stu4<-student(name="D",age=20,both_year=2001,score=60) stu5<-student(name="E",age=19,both_year=2000,score=85) stu6<-student(name="F",age=20,both_year=2001,score=87) stu7<-student(name="G",age=21,both_year=2000,score=92) stu8<-student(name="H",age=20,both_year=2001,score=99) stu9<-student(name="I",age=21,both_year=2000,score=88) stu10<-student(name="J",age=20,both_year=2001,score=95)score<-c(stu1$score,stu2$score,stu3$score,stu4$score,stu5$score,stu6$score,stu7$score,stu8$score,stu9$score,stu10$score) age<-c(stu1$age,stu2$age,stu3$age,stu4$age,stu5$age,stu6$age,stu7$age,stu8$age,stu9$age,stu10$age)mean_score<-function(n) {new_score<-c(NA)new_age<-c(NA)for(count in 1:n){new_score[count]<-score[count]new_age[count]<-age[count]}print(paste0("平均年齡為:",mean(new_age)," ","平均成績為:",mean(new_score))) } mean_score(2) mean_score(3) mean_score(4) mean_score(10)逐條執行結果
> mean_score(2) [1] "平均年齡為:19.5 平均成績為:85" > mean_score(3) [1] "平均年齡為:19.6666666666667 平均成績為:80" > mean_score(4) [1] "平均年齡為:19.75 平均成績為:75" > mean_score(10) [1] "平均年齡為:20 平均成績為:84.6" > >2、找出1至999之間是13的倍數或者前兩位數字是13的數字,輸出這些數字,并統計有多少個。
源代碼
CountAndPrint<-function() {number<-c(NA)t<-0;for(i in 1:999){if(i%%13==0 || (i>=130 && i<=139)){number[t]=i;t<-t+1}}print(paste0("一共有" ,t,"個數字,分別為: "))print(number) }CountAndPrint()逐條執行結果
> CountAndPrint() [1] "一共有85個數字,分別為: "[1] 13 26 39 52 65 78 91 104 117 130 131 132 133 134 135 136 137 138 139 143 156 [22] 169 182 195 208 221 234 247 260 273 286 299 312 325 338 351 364 377 390 403 416 429 [43] 442 455 468 481 494 507 520 533 546 559 572 585 598 611 624 637 650 663 676 689 702 [64] 715 728 741 754 767 780 793 806 819 832 845 858 871 884 897 910 923 936 949 962 975 [85] 988 >3、編寫成績轉化為績點的函數,用98,93,89,73,66分別調用函數,生成對應績點。
源代碼
compute_score<-function(n) {if(n>=90){print(4.0)}else{if(n>=80){print(3+0.1*(n-80))}else{if(n>=70){print(2+0.1*(n-70))}else{if(n>=60){print(1+0.1*(n-60))}else{print(0.0)}}}} }compute_score(98) compute_score(93) compute_score(89) compute_score(73) compute_score(66)逐條執行結果
> compute_score(98) [1] 4 > compute_score(93) [1] 4 > compute_score(89) [1] 3.9 > compute_score(73) [1] 2.3 > compute_score(66) [1] 1.64、隨機生成兩個長為100且服從標準正態分布的向量,然后將兩向量所有偶數位的數值對調,輸出所有的4個向量(對調前的2個,對調后的2個)。
源代碼
vector_use<-function(){x1<-rnorm(100)x2<-rnorm(100)x3<-x1x4<-x2for(i in 1:100){if(i%%2==0){temp<-x3[i]x3[i]<-x4[i]x4[i]<-temp}}print("初始的兩個向量:")print(x1)print(x2)print("調動偶數位后,新的兩個向量:")print(x3)print(x4) }vector_use()逐條執行結果
> vector_use() [1] "初始的兩個向量:"[1] 0.319612070 0.015819871 0.869415469 -1.176999121 0.071135138 0.002999897[7] -0.169636344 1.591012725 0.827372292 2.230233882 -1.516781376 1.478354192[13] 0.462863889 -0.156409261 -1.355582378 0.674201139 0.748893040 -0.713604424[19] 0.313050351 -0.148590846 1.113293579 1.222341899 -1.331542804 1.435167502[25] 0.697359933 -1.884273223 0.229524225 -0.055679346 -0.270288788 -0.522594674[31] 0.222434078 -1.285773357 0.363372337 -1.052354558 0.714893112 0.537422268[37] -0.004273680 0.221294067 -0.136203069 0.786233205 0.309553284 -0.940615158[43] -1.527855939 -0.197083840 0.143029852 2.129222688 0.352623891 -1.982332276[49] 1.008691808 0.185446018 -0.488159115 -0.383184039 0.209679524 -0.578755388[55] -0.973175502 -0.369543045 -0.067756344 0.274504893 -0.909282076 0.415769537[61] 0.775164200 0.287887517 0.099896448 0.968901223 0.741993852 -1.208472532[67] -0.063377501 -1.181997483 -0.147739997 1.502801666 -1.996553865 -1.030902652[73] 2.636829548 0.818082881 2.790901741 -0.577657151 0.696117625 1.077593938[79] -0.123296065 0.804158746 1.856532409 -1.037099388 0.605047538 -0.228457302[85] 0.681835246 0.266290149 1.198032886 -0.019675263 -0.159019727 -1.904559740[91] -0.976426085 -0.762175416 -1.336626827 2.395567742 0.687167431 -1.191623572[97] 0.580462629 -1.382811521 -0.699478382 0.064953614[1] -1.81870906 1.04257871 -0.10650283 -1.75819176 -0.25885374 -0.96899020 0.40225702[8] -2.98534997 -0.80356041 0.72178293 -0.51600527 -1.42371356 -1.19620726 1.12711645[15] -0.07717391 1.91559960 -0.27692214 0.11324847 0.85973458 0.42046223 0.21794640[22] 0.12911543 -3.04384425 1.90241398 -0.69391919 1.50585291 1.15443741 0.99382990[29] -0.34668334 0.26803733 -0.80982230 0.72315893 -0.37180165 0.80548626 1.81133548[36] 0.62886876 -0.74793609 -1.04395881 -0.76611761 0.05756699 0.01268761 -0.35335449[43] 1.17948907 1.20367693 0.03601567 0.88748965 1.45290872 -1.53258399 -0.98711446[50] 2.22898991 -1.46603237 -1.25702472 0.63963586 0.30231780 -0.39316340 -0.04355806[57] -0.19199672 0.35118921 0.31553287 0.68773473 0.69390075 -0.54237982 1.68424915[64] -0.25431864 0.26953820 0.70440099 -0.15022349 1.39380768 0.60695650 -1.18744209[71] 0.34166978 -1.78797519 1.67279154 0.96406088 -0.69872699 1.09033617 -0.58507390[78] 1.38314858 -0.10554886 1.46861966 1.13452257 -0.98136379 1.47061413 0.16657006[85] -0.27680390 0.06171850 0.32741027 -0.03595515 1.30605720 0.58795543 2.12798676[92] -1.92604821 -0.71841657 0.69482668 -2.35087369 0.38025722 1.20806266 0.52068086[99] 0.74830498 -0.93846847 [1] "調動偶數位后,新的兩個向量:"[1] 0.31961207 1.04257871 0.86941547 -1.75819176 0.07113514 -0.96899020 -0.16963634[8] -2.98534997 0.82737229 0.72178293 -1.51678138 -1.42371356 0.46286389 1.12711645[15] -1.35558238 1.91559960 0.74889304 0.11324847 0.31305035 0.42046223 1.11329358[22] 0.12911543 -1.33154280 1.90241398 0.69735993 1.50585291 0.22952422 0.99382990[29] -0.27028879 0.26803733 0.22243408 0.72315893 0.36337234 0.80548626 0.71489311[36] 0.62886876 -0.00427368 -1.04395881 -0.13620307 0.05756699 0.30955328 -0.35335449[43] -1.52785594 1.20367693 0.14302985 0.88748965 0.35262389 -1.53258399 1.00869181[50] 2.22898991 -0.48815912 -1.25702472 0.20967952 0.30231780 -0.97317550 -0.04355806[57] -0.06775634 0.35118921 -0.90928208 0.68773473 0.77516420 -0.54237982 0.09989645[64] -0.25431864 0.74199385 0.70440099 -0.06337750 1.39380768 -0.14774000 -1.18744209[71] -1.99655386 -1.78797519 2.63682955 0.96406088 2.79090174 1.09033617 0.69611763[78] 1.38314858 -0.12329606 1.46861966 1.85653241 -0.98136379 0.60504754 0.16657006[85] 0.68183525 0.06171850 1.19803289 -0.03595515 -0.15901973 0.58795543 -0.97642608[92] -1.92604821 -1.33662683 0.69482668 0.68716743 0.38025722 0.58046263 0.52068086[99] -0.69947838 -0.93846847[1] -1.818709057 0.015819871 -0.106502832 -1.176999121 -0.258853740 0.002999897[7] 0.402257020 1.591012725 -0.803560415 2.230233882 -0.516005267 1.478354192[13] -1.196207256 -0.156409261 -0.077173906 0.674201139 -0.276922141 -0.713604424[19] 0.859734585 -0.148590846 0.217946400 1.222341899 -3.043844254 1.435167502[25] -0.693919190 -1.884273223 1.154437407 -0.055679346 -0.346683339 -0.522594674[31] -0.809822301 -1.285773357 -0.371801649 -1.052354558 1.811335482 0.537422268[37] -0.747936088 0.221294067 -0.766117610 0.786233205 0.012687609 -0.940615158[43] 1.179489069 -0.197083840 0.036015673 2.129222688 1.452908720 -1.982332276[49] -0.987114458 0.185446018 -1.466032370 -0.383184039 0.639635856 -0.578755388[55] -0.393163399 -0.369543045 -0.191996718 0.274504893 0.315532869 0.415769537[61] 0.693900751 0.287887517 1.684249146 0.968901223 0.269538202 -1.208472532[67] -0.150223486 -1.181997483 0.606956503 1.502801666 0.341669785 -1.030902652[73] 1.672791541 0.818082881 -0.698726985 -0.577657151 -0.585073896 1.077593938[79] -0.105548862 0.804158746 1.134522570 -1.037099388 1.470614133 -0.228457302[85] -0.276803900 0.266290149 0.327410269 -0.019675263 1.306057200 -1.904559740[91] 2.127986760 -0.762175416 -0.718416572 2.395567742 -2.350873691 -1.191623572[97] 1.208062657 -1.382811521 0.748304982 0.064953614 >5、已知XYZ+YZZ=532,其中X、Y和Z為數字,編程求出X,Y和Z的值。
源代碼
n<-list(1,6)for(x in 1:4){for(y in 1:4){for(z in n){if(x*100+y*100+z*10+y*10+2*z==532){print(paste(x," ",y," ",z))}}} }逐條執行結果
> n<-list(1,6) > for(x in 1:4){ + for(y in 1:4){ + for(z in n){ + if(x*100+y*100+z*10+y*10+2*z==532){ + print(paste(x," ",y," ",z)) + } + } + } + } [1] "3 2 1" >總結
以上是生活随笔為你收集整理的数据统计与分析基础实验一:基本语法与运算(R语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派+Ardunio的魔方机器人
- 下一篇: 百家游坛发起苹果APP推广者大会 揭行业