被拜托帮忙做一道题,紧急突击了一下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")