被拜託幫忙做一道題,緊急突擊了一下R語法,在此記錄一下:
令樣本編號從1到10000,請將該向量賦值到X中
X <- 1:10000
將(6、7、8、9)分別重複2500次,並賦值到向量Y中
Y <-rep(c("6","7","8","9"),c(2500,2500,2500,2500))
產生10000個隨機數,使其服從N(μ=162,σ^2=16)正態分佈,並賦值到向量Z中
Z <-round(rnorm(10000,mean = 162,sd=16))
合併向量X、Y和Z,使之成爲10000(行)×3(列)的數據框df,並修改列名爲ID、Grade和Height
df <- data.frame(ID=X,Grade=Y,Height=Z)#數據框
利用單因素方差分析(ANOVA),檢驗4個年級的身高是否具有顯著性差異
aov1 <- aov(Height~Grade, data=df)#方差分析
summary(aov1)
在df中增加一列,命名爲Weight。其中,Weight與身高存在線性相關:Weight=0.8*Height-90
df <- transform(df,Weight=0.8*Height-90)#新增一列
假定現有表格df1,記錄了其中5名同學的兩門文化課成績,請利用dplyr包,按照df1中ID順序,提取這5名同學的身高和體重記錄,並保留df1的所有信息
install.packages("dplyr") #下載包,運行一次即可
library(dplyr) #加載包,運行一次即可
#設置表格df1
df1 <- data.frame(ID=c(38,835,186,945,6482),Math=c(87,94,73,81,99),English=c(65,90,89,78,96))
df1 <- arrange(df1, ID)#排序
inner_join(df, df1, by = "ID")